这个Perl脚本打印出像这样的输出
value value value value
my $tree = HTML::TreeBuilder::XPath->new_from_content( $content );
my @myvalue = $tree->findvalues('//html/body/center[1]/table/tbody/tr[4]/td[1]/following-sibling::td');
@myvalue = map {/^(\d+)/; $1} @myvalue;
print join(' ', @myvalue);
相反,我需要它像这样打印
foostring1:value foostring2:value foostring3:value foostringn:value
如何使用整数自动递增的字符串为值添加前缀?
答案 0 :(得分:2)
自动增量运算符将为您执行此操作。这就是必要的
my @values = qw/ value value value value /;
my $key = 1;
say join ' ', map { 'foostring' . $key++ . ":$_" } @values;
foostring1:value foostring2:value foostring3:value foostring4:value
答案 1 :(得分:1)
您还应该检查正则表达式是否成功才能在$1
中获得所需的内容,
my $i = 0;
@myvalue = map { /^(\d+)/ ? sprintf("foostring%s:%s", ++$i, $1) : () } @myvalue;