我有如下压缩文件名:
filename1.csv.Z
filename2.csv.gz
Run Code Online (Sandbox Code Playgroud)
我有用于最后扩展名的正则表达式:
my ($ext) = $file =~ /(\.[^.]+)$/;
Run Code Online (Sandbox Code Playgroud)
现在,我想获取“原始文件名”,例如不带.Z或.gz的文件。filename1.csv,filename2.csv
我试图在下面使用类似expresion的方法,但是不起作用...
my ($output) = $file =~ /.+?(?=(([^.]+)$))/;
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
了解您的标准库。参见File :: Basename:
use File::Basename qw(basename);
for my $fullname (qw(filename1.csv.Z filename2.csv.gz)) {
my $basename = basename $fullname, qw(.Z .gz);
}
__END__
filename1.csv
filename2.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |