四个非常相同的正则表达式。我用以下标量值替换了字符串。如何提高效率?
$line =~ s/\[(receiver)\]/$receiver/g;
$line =~ s/\[(place)\]/$place/g;
$line =~ s/\[(position)\]/$position/g;
$line =~ s/\[(company)\]/$company/g;
谢谢。
最佳答案
考虑只使用真实的模板系统。例如,Template Toolkit非常简单。
抛开这些,您说您希望它更有效率。当前认为效率低下是一个问题吗?如果没有,就别管它了。
您可以一次完成所有操作:
my %subst = (
'receiver' => $receiver,
'place' => $place,
'position' => $position,
'company' => $company,
);
$line =~ s/\[(receiver|place|position|company)\]/$subst{$1}/g;
但是如果
$receiver
是'place',这将表现不同。