我的程序需要一個命令行參數,我想用它來改變我的Perl腳本的工作目錄。如何從命令行參數插入一個變量到字符串中?
use strict;
use warnings;
use Getopt::Std;
use Cwd 'chir';
my %opts=();
getopts('a:v:l:', \%opts);
my $application = $opts{a};
my $version = $opts{v};
my $location = $opts{l};
print "$application, $version, $location\n";
if($application eq 'abc') {
#print "you came here\n";
chdir "/viewstore/ccwww/dst_${application}_${version}/abc/${location}";
print $ENV{PWD};
print "you came here\n";
}
我以前試過用chdir '/var/tmp/dst_$application/$version/$location';
,但那也沒用。
該代碼的當前版本提供此警告。
全局符號「$ application_」需要在./test.pl第20行顯式包名。由於編譯錯誤,執行./test.pl時中止。
20行是chdir
。
我已經嘗試使用 – mahesh
使用Getopt :: Std; my%opts =(); getopts('a:v:l:\%opts); my $ application = $ opts {a}; my $ version = $ opts {v}; my $ location = $ opts {l}; if($ application eq'abc') { chdir'/ var/tmp/dst_ $ application/$ version/$ location'; } – mahesh
我在dst_ $應用程序附近出現異常,因爲集中錯誤 – mahesh