收到以下警告消息,如何消除它?
Use of uninitialized value $suffix in concatenation (.) or string at /usr/share/perl5/File/Basename.pm line 167.
Use of uninitialized value $suffix in substr at /usr/share/perl5/File/Basename.pm line 169.
正在使用的代码:
use File::Copy;
use File::Basename qw(fileparse);
my @mtf;
my $name;
my $dir;
my $ext;
my $ascii;
my $suffix="";
($name, $dir, $suffix) = fileparse(@mtf,qr/\.[^.]*$/);
$name =~ s/\.$suffix$//;
system("cp $mtf[0] $name.ASCII");
$ascii = "$name.ASCII";
答案 0 :(得分:2)
fileparse(@mtf,qr/\.[^.]*$/);
没有任何意义。由于必须确保@mtf
包含一个元素才能正常工作,因此使用数组代替标量是没有意义的。
您没有显示@mtf
所包含的内容,但是它显然不是单个元素,或者单个元素与正则表达式模式\.[^.]*$
不匹配。