我有一個帶有 "Bonus"、"Plusbonus"、"Plusbonus_001"、"Plusbonus_001 "等索引的哈希值。
現在我正在尋找一種可能性,在一個回圈中處理這些鍵。
我試過
use strict;
use warnings;
for ("Bonus", "Plusbonus", "Plusbonus_001" ... "Plusbonus_010") {
# 做一些事情。
}
但是我在./test.pl第14行得到一個錯誤引數 "Plusbonus_001 "不是范圍內的數字(或翻轉)。
如果沒有_/underscore,它的效果很好。
我使用了
use strict;
use warnings;
for ("", "001" ... "010") {
my $index = "Plusbonus"/span> . ($_ ? "_$_" : "")。)
# 通過使用$index而不是$_作為鍵來做一些事情。
}
但是現在,有了 "Bonus",還有另一個鍵需要處理,這樣我的解決方法就不再有效了。
是否有可能以另一種簡短的方式生成這些密鑰?
uj5u.com熱心網友回復:
你可以使用map來建立一個范圍:
use warnings;
use strict;
for (map { sprintf 'Plusbonus_d', $_ } 0 ... 10) {
print "$_
"。
}
列印:
Plusbonus_000
Plusbonus_001
Plusbonus_002
Plusbonus_003
Plusbonus_004
加班費_005
加班費_006
加班費_007
加班費_008
加班費_009
Plusbonus_010
uj5u.com熱心網友回復:
本著使用魔法字串增量的嘗試,你可以使用下面的方法。它很短,但不容易閱讀。
use strict;
use warnings;
for ("Bonus", "Plusbonus", map { "Plusbonus_" . $_ } "001"/span> ... "010"/span>) {
# do something.
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/311363.html
標籤:
