0
我正在嘗試打印具有相應字母的數字的哈希值,我是新的,我不知道如何讓我的條件語句運行通過每個值我放在一個單一的用戶輸入線。我正在嘗試製作密碼。打印特定哈希值perl
#!/usr/bin/perl
print "Enter the numbers for the corresponding letters\n";
chomp($num = <>);
while ($num >= 0 && $num <= 27 || $num == 'c'){
%num_to_letter;
$num_to_letter{"4"} = "A";
$num_to_letter{"9"} = "B";
$num_to_letter{"17"} = "C";
$num_to_letter{"5"} = "D";
$num_to_letter{"13"} = "E";
$num_to_letter{"7"} = "F";
$num_to_letter{"21"} = "G";
$num_to_letter{"6"} = "H";
$num_to_letter{"23"} = "I";
$num_to_letter{"15"} = "J";
$num_to_letter{"1"} = "K";
$num_to_letter{"20"} = "L";
$num_to_letter{"26"} = "M";
$num_to_letter{"19"} = "N";
$num_to_letter{"12"} = "O";
$num_to_letter{"2"} = "P";
$num_to_letter{"27"} = "Q";
$num_to_letter{"11"} = "R";
$num_to_letter{"25"} = "S";
$num_to_letter{"3"} = "T";
$num_to_letter{"22"} = "U";
$num_to_letter{"14"} = "V";
$num_to_letter{"18"} = "W";
$num_to_letter{"8"} = "X";
$num_to_letter{"24"} = "Y";
$num_to_letter{"16"} = "Z";
$num_to_letter{"10"} = " ";
if ($num == 4){
print "$num $num_to_letter{$num}";
print $num_to_letter{"4"} = "A";
}
elsif ($num == 9){
print "$num $num_to_letter{$num}";
print $num_to_letter{"9"} = "B";
}
elsif ($num == 17){
print $num $num_to_letter{$num};
print $num_to_letter{"17"} = "C";
}
elsif ($num == 5){
print $num $num_to_letter{$num};
print $num_to_letter{"5"} = "D";
}
elsif ($num == 13){
print $num $num_to_letter{$num};
print $num_to_letter{"13"} = "E";
}
elsif ($num == 7){
print $num $num_to_letter{$num};
print $num_to_letter{"7"} = "F";
}
elsif ($num == 21){
print $num $num_to_letter{$num};
print $num_to_letter{"21"} = "G";
}
elsif ($num == 6){
print $num $num_to_letter{$num};
print $num_to_letter{"6"} = "H";
}
elsif ($num == 23){
print $num $num_to_letter{$num};
print $num_to_letter{"23"} = "I";
}
elsif ($num == 15){
print $num $num_to_letter{$num};
print $num_to_letter{"15"} = "J";
}
elsif ($num == 1){
print $num $num_to_letter{$num};
print $num_to_letter{"1"} = "K";
}
elsif ($num == 20){
print $num $num_to_letter{$num};
print $num_to_letter{"20"} = "L";
}
elsif ($num == 26){
print $num $num_to_letter{$num};
print $numto_letter{"26"} = "M";
}
elsif ($num == 19){
print $num $num_to_letter{$num};
print $num_to_letter{"19"} = "N";
}
elsif ($num == 12){
print $num $num_to_letter{$num};
print $num_to_letter{"12"} = "O";
}
elsif ($num == 2){
print $num $num_to_letter{$num};
print $num_to_letter{"2"} = "P";
}
elsif ($num == 27){
print $num $num_to_letter{$num};
print $num_to_letter{"27"} = "Q";
}
elsif ($num == 11){
print $num $num_to_letter{$num};
print $num_to_letter{"11"} = "R";
}
elsif ($num == 25){
print $num $num_to_letter{$num};
print $num_to_letter{"25"} = "S";
}
elsif ($num ==3){
print "$num $num_to_letter{$num}";
$num_to_letter{"3"} = "T";
}
elsif ($num == 22){
print $num $num_to_letter{$num};
$num_to_letter{"22"} = "U";
}
elsif ($num == 14){
print $num $num_to_letter{$num};
$num_to_letter{"14"} = "V";
}
elsif ($num == 18){
print $num $num_to_letter{$num};
$num_to_letter{"18"} = "W";
}
elsif ($num == 8){
print $num $num_to_letter{$num};
$num_to_letter{"8"} = "X";
}
elsif ($num == 24){
print $num $num_to_letter{$num};
$num_to_letter{"24"} = "Y";
}
elsif ($num == 16){
print $num $num_to_letter{$num};
$num_to_letter{"16"} = "Z";
}
elsif ($num == 10){
print $num $num_to_letter{$num};
$num_to_letter{"10"} = " ";
}
else{
print "you didn't enter a jersey number we have stats on.\n";}
chomp($num = <>);
}
在您的shebang中加入-w還有使用警告呼叫有什麼好處嗎?是不是後者足夠優越,因爲它也會接到明確的perl調用? 'perl myscript.pl' – Miller
也許你是對的。無論如何,我不會貪心,所以我總是習慣於在每一個shebang的第一行放置'-w';) –