Perl中如何在||后换行执行多条命令?
关于Perl中
||后多行执行命令的问题 嘿,我最近写了一段从数组创建哈希的代码,用单行$seen语句来去重,替代了原本的哈希表构建逻辑,用来移除键和值里的重复内容。
不过我碰到个小麻烦——没法在||后面换行执行多条命令(比如循环),所有命令只能挤在同一行里。
原始代码片段:
... foreach my $k (sort keys %store) { ($key, $key2, $value) = split /-/, $k; chomp ($key, $key2, $value); $seen{$key}++ || print "1. $key\n"; $seen{$key2}++ || print "2. -- $key2\n"; $seen{$value}++ || print "3. ----$value\n"; }
虽然可以把内容都塞在一行里,但维护起来特别繁琐:
$seen{$value}++ || print "3. ----$value\n "something else";
我实际是在生成XML文件,把所有内容堆在同一行里可读性太差,调试也麻烦,希望能写成这样的形式:
... foreach my $k (sort keys %store) { ($key, $key2, $value) = split /-/, $k; chomp ($key, $key2, $value); $seen{$key}++ || { print "1. $key\n"; print "that went well.."; ... } $seen{$key2}++ || print "2. -- $key2\n"; $seen{$value}++ || print "3. ----$value\n"; }
请问有没有办法实现这种多行执行的写法?之前@Mob曾给过我很大的帮助。
内容的提问来源于stack exchange,提问作者user8956060
相关产品推荐
相关产品推荐

