我有一个具有重复模式的字符串,我想用另一个字符串替换每次出现的这种模式。替换字符串是通过连接一组其他字符串形成的。一个例子如下。我首先尝试使用.
如图所示的运算符进行连接。
但是输出本身包含点,所以 Perl 不把它当作一个操作符,而是一个字面量.
。
#!/usr/bin/perl
use warnings;
use strict;
my $start = 'not-so-';
my $end = '-but-a-little-bad';
my $string = 'I am a good boy. Infact I am a very good boy';
print "Before: $string\n";
>>>> $string =~ s/(good)/$start.$1.$end/g;
print "Later : $string\n";
所以我删除了.
s,我的语句变成$string =~ s/(good)/$start$1$end/g;
了 ,并且输出符合预期。但是,我觉得这样的声明可能会在以后引起维护问题。
我的问题:除此之外还有更好的连接字符串的方法吗?