2012-04-24 127 views
0

我是perl的新手,我遇到了一件事情。Perl:從命令行讀取路徑

我有代碼:從cmd命令行(我使用批處理文件)

$original_file = "y:\\Users\\XXX\\perlScript\\test1.xml"; 
$new_file = "y:\\Users\\XXX\\perlScript\\summary_test1.xml"; 
copy($original_file, $new_file) or die "File cannot be copied"; 

我需要讀取路徑。 例如:

>summary.bat c>\path\file_name.xml 

副本後,我想創建summary_file_name.xml到同一個文件夾

感謝

+2

你真的鍵入了'c> \ path \ file_name.xml'嗎?或者你的意思是輸入一個冒號嗎? – TLP 2012-04-24 10:19:49

回答

0

你想用File::Basename。這是Perl中的標準庫,至少早在5.14版本,所以你不需要安裝任何新東西。

use File::Basename; 
my($filename, $directories, $suffix) = fileparse($original_file); 
my $new_file = $directories . "/summary.xml"; 

欲瞭解更多信息,請參閱Perl Docs

1

你問的Perl程序如何得到它的命令行參數?您可以在@ARGV陣列中找到它們。