我需要从完整的文件路径获取文件的名称.我试过用:
$out_fname =~ s/[\/\w+\/]+//;
但它"吃掉"文件名的purts.
例:
对于文件:
/bla/bla/folder/file.part.1.file,它返回:
.part.1,file
cod*_*ict 16
你可以做:
use File::Basename;
my $path = "/bla/bla/folder/file.part.1.file";
my $filename = basename($path);
Run Code Online (Sandbox Code Playgroud)
除了文件::基名,这里还有路径::类,它可以很方便的操作比较复杂,有目录,或跨平台/文件系统操作处理时尤为如此.在这种情况下,它可能有点过分,但可能值得了解.
use Path::Class;
my $file = file( "/bla/bla/folder/file.part.1.file" );
my $filename = $file->basename;
Run Code Online (Sandbox Code Playgroud)