是否有更好的方法在数组中的每个元素上使用tr ///而不是以下内容:
foreach (@list) {
tr/abc/xyz/;
}
我正在玩一些东西而且我无法理解它看起来不太正确/最佳。也许我只想到条件可以如何以后缀形式使用。任何人都知道是否有办法使用后缀形式tr ///或s ///?
答案 0 :(得分:10)
您在寻找:
tr/abc/xyz/ foreach (@list);
基本上与您的代码的工作方式相同(@list
的每个元素都别名为$ _)。在这种情况下,你只能见到Tim Toady和他兄弟的双胞胎Tom。
答案 1 :(得分:6)
tr/abc/xyz/ for (@list);
适合我。
答案 2 :(得分:4)
谁使用括号for
作为语句修饰符?
tr/abc/xyz/ for @list;
而且,如果您正在打高尔夫球,则可以使用y
代替tr
来保存另外一个角色。
答案 3 :(得分:0)
我不是for
作为语句修饰符的忠实粉丝;不知道为什么,因为它没有任何问题,它只是不以其他语句修饰语所做的那种自然语言方式对我说话。因此,我会使用map
代替:
map(tr/abc/xyz/, @list);
纯粹是一个偏好的问题,我在这里仅作为一个例子发布。其他答案也很好。
答案 4 :(得分:-1)
如果你想把它当作表达式,那么我更喜欢(表达式从map
开始)。
my @trlist = map { tr/abc/xyz/; $_ } @list;
但是当您只想更改列表中的项目时,foreach
种类可能是最简单的方法:
tr/abc/xyz/ foreach @list;