我是Perl的新手。我正在尝试用' -S%d'替换字符串。串。 但在输出中我看到-S0而不是-S%d。怎么处理? 代码类似于:
$test =~ s/-S1234/-S%d/;
进一步澄清 -
$test = 'This_is_StackOverflow-S11152017'
我希望得到以下输出 -
'This_is_StackOverflow-S%d'
答案 0 :(得分:0)
替换按预期工作,问题很可能与你如何打印有关。你应该这样做:
print "$test\n";
或:
printf "%s\n", $test;
如果您这样做,将会得到您输出的结果:
printf $test;
printf
的第一个参数是格式字符串,%d
用于格式化整数参数。如果没有相应的参数,则默认为0
。