从 Perl 映射打印自动递增字符串

Print auto-increment strings from Perl map

这个 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+)/; } @myvalue;
print join(' ', @myvalue);

相反,我需要它像这样打印

foostring1:value foostring2:value foostring3:value foostringn:value

如何使用整数自动递增的字符串作为值的前缀?

您还应该检查正则表达式是否成功,以便在 </code>、</p> 中获得所需的内容 <pre><code>my $i = 0; @myvalue = map { /^(\d+)/ ? sprintf("foostring%s:%s", ++$i, ) : () } @myvalue;

自增运算符会为你做这件事。这就是所有必要的

my @values = qw/ value value value value /;

my $key = 1;
say join ' ', map { 'foostring' . $key++ . ":$_" } @values;

输出

foostring1:value foostring2:value foostring3:value foostring4:value