【发布时间】:2010-06-02 01:22:30
【问题描述】:
【问题讨论】:
标签: regex perl code-cleanup
【问题讨论】:
标签: regex perl code-cleanup
my ($export = $doc) =~ s{\.odt}{\.pdf};
更新:该解决方案无法编译(自我注意:在发布到 SO 之前进行测试)。相反,你可以说
(my $export = $doc) =~ s{\.odt}{\.pdf};
【讨论】:
我选择[.] 来匹配文字句点:
$export ~= s{[.]odt$}{.pdf};
请注意,只有s/// 调用的前半部分是正则表达式。替换为普通字符串,不需要转义句点。
不过,您可能希望使用 Path::Class 将文件表示为对象而不是字符串。
【讨论】:
\z 是“I am a PBP fanboi”转义序列。
我的 %ext = ('odt' => 'pdf', 等等...); (我的 $export = $doc) =~ s{.([^.]+)$}{'.'.($ext{$1}||$1})}例如;
【讨论】: