我的数组(@array)包含这些目录结构。在目录和文件路径下面。如何正则表达式并获取文件和目录路径
/home/testuser/mysql/data/userdata/pushdir/
/home/testuser/mysql/data/userdata/pushdir/test1.sql
/home/testuser/mysql/data/userdata/nextdir/testdir/
/home/testuser/mysql/data/userdata/pushdir/testdir/test2.sql
/home/testuser/mysql/data/userdata/ - from above list till this line path is constant.
我想处理文件到另一个循环。为此,我正在寻找文件名输出只有像“pushdir/test1.sql”和“pushdir/testdir/test2.sql”
我使用此代码来获取,但我没有得到预期的输出如“pushdir/test1.sql”和“pushdir/testdir/test2.sql”。请分享你的想法,正则表达式,并得到输出
foreach $dir(@array)
{
chomp $dir;
print "$dir\n";
@files = <$dir/*>;
my @names=join("\n", sort(@files));
print @names,"\n";
}
foreach my $filepath (@names) {
(my $volume,my $dirs, my $filelist) = File::Spec->splitpath(+$filepath);
print "$filelist\n";
}
在任何地方都没有正则表达式。只有一个glob通配符。 – choroba
'严格使用;使用警告;'会建议你这个错误。 – TLP
你最终想做什么? –