#!/db/pub/infra/CPAN/perl/5.8.8/bin/perl
use lib '/db/pub/eq/arina/global/perl/lib';
use lib '/db/pub/infra/CPAN/perl/5.8.8/lib/site_perl/5.8.8';
use DBI;
use strict;
sub main {
my $dir = "/data/dbxpc2_archive/BookingManager/2017-01-12/data/PC1/millennium.ignore.ftp.noencrypt.DB_USD";
my @files = glob "${DIR}/*.csv";
print @files;
}
main();
答案 0 :(得分:2)
您收到错误是因为您使用的是您从未声明过的变量($DIR
)。您确实声明了一个名为$dir
的变量,它似乎是您打算使用的变量。
glob "${dir}/*.csv"
glob "$dir/*.csv"
glob $dir."/*.csv"
您的代码错误处理了包含空格的路径,*
,?
等。使用
glob "\Q${dir}\E/*.csv"
glob "\Q$dir\E/*.csv"
glob quotemeta($dir)."/*.csv"