系统运维
分类:
2008-11-12 15:09:23
如果 LIST 完全包含可赋值元素(通常也就是说变量,而不是枚举常量),你可以通过修改循环内的 VAR 来修改每个变量。这是因为 foreache 循环的索引变量隐含地是你正在逐一取出的列表的每个元素的别名。你不仅可以现场修改单个列表,你还可以修改在一个列表里的多个数组和散列:
foreach $pay (@salaries) { # 赋予 8%的提升 $pay *= 1.08; } for (@christmas, @easter) { s/ham/turkey/; # 修改菜单(译注:这可真的是菜单) } s/ham/turkey/ for @christmas, @easter; # 和上面一样的东西 for ($scalar, @array, values %hash) { s/^\s+//; #删除开头的空白 s/\s+$//; #删除结尾的空白 }