用于获取文件名的Perl中的glob()函数

Rav*_*ven 1 perl filenames glob

如何使用glob()函数获取存储在特定文件夹中的文件的特定名称?我有一个示例源代码,但有不同的输出,它显示文件的完整路径,而不是只显示特定的文件名.如何仅从路径集中检索文件名,或者如何直接访问并获取特定文件名?谢谢!

@files = glob('/Perl/Assignment/*');
foreach $files(@files){
    print "$files\n";
}
Run Code Online (Sandbox Code Playgroud)

输出:

/Perl/Assignment/file1.txt
/Perl/Assignment/file2.txt
/Perl/Assignment/file3.txt
Run Code Online (Sandbox Code Playgroud)

预期产量:

file1.txt
file2.txt
file3.txt
Run Code Online (Sandbox Code Playgroud)

Jim*_*vis 7

你可以使用File::Basename:

use File::Basename;
my @files = glob('/Perl/Assignment/*');
foreach my $file (@files){
    print basename($file), "\n";
}
Run Code Online (Sandbox Code Playgroud)

它长期以来一直是核心Perl的一部分.

(在这种情况下必须使用parens,否则它认为这"\n"是一个参数basename而不是print.)