让我们举一个示例代码:
foreach my $cmp_id ( sort { $a <=> $b } keys %totals )
{
print $cmp_id . ", ";
}
如何在没有逗号的情况下获取哈希打印的最后一个元素?如果可能的话,没有字符串操作(子字符串或类似的东西)。
由于
答案 0 :(得分:15)
除非你需要做别的事情,否则你将走很长的路......
print join(", ", sort { $a <=> $b } keys %totals);
join
使用作为第一个参数给出的分隔符连接数组,这非常适合您所追求的内容。
<强>更新强>
我的解决方案确实有效,您需要在问题中提供更多信息。
将键添加到数组中,并在完成后打印它们,即:
my @keys;
foreach my $cmp_id (sort { $a <=> $b } keys %totals){
push @keys, $cmp_id;
... other processing
}
print join(", ", @keys);
答案 1 :(得分:0)
虽然我更喜欢RET的原始建议,但最糟糕的情况是从字符串的末尾放下“,”,使用chop两次。
或substr:$ cmp_id = substr($ cmp_id,0,-2);