我的數組(@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
你最終想做什麼? –