【发布时间】:2012-08-02 01:13:31
【问题描述】:
在开始之前,我想让您知道我不是 Perl 专家。由于分配给我的一些特定任务,我才刚刚开始。
此任务的要求是提取文件的扩展名(.dat)并替换为.trg。问题是我们正在压缩.dat 文件以生成$filename.dat.gz,当我们提取扩展名并替换它时,我们得到$filename.dat.trg,而理想情况下我们想要的是$filename.trg。
至于代码(请注意,这似乎是一个非常古老的“遗留”代码,我不想过多地修改它,因为它曾经/正在由另一个人维护),这就是它的方式被放下了
#prepare the trigger file
#get the extension
my @contains_extension = split (/\./ , $filename);
my $ext = $contains_extension[-1];
#replace with a ".trg" extension
my $remote_trgfile = $filename;
$remote_trgfile =~ s/$ext$/trg/;
my $trgfile = $out;
$trgfile =~ s/$ext$/trg/;
记住上面代码中的$filename后缀为.dat.gz,即文件名为$filename.dat.gz
如果有人能帮助我用一种更简单的方法来提取扩展名(.dat 和 .gz)并将其替换为 .trg,我将不胜感激
【问题讨论】:
-
我相信这段代码是 Perl,而不是 PHP。
-
我的错,适当改了..
-
您的问题不清楚。你需要什么与
s/\.dat\.gz$/.trg/不同的地方?
标签: perl