入门perl程序
%course=(
'2CPR2B'=>'C Language',
'1UNX1B'=>'Intro to UnIX',
'3SH414'=>'Shell Programming',
'4PL400'=>'Perl Programming',
);
sub asc_sort{
$course{$a} cmp $course{$b};
}
foreach $key (sort asc_sort(keys(%course))){
printf "\t% -20s%5d\n", $key, $course{$key};
}
print 'please input course No. 2CPR2B, 1UNX1B, 3SH414, 4PL400',".\n";
chomp($c=<STDIN>);
print "$course{$c}\n";
为什么打印排序后的散列键正确,值全部是0?
[解决办法]
- Perl code
printf "\t% -20s%s\n", $key, $course{$key};
[解决办法]
[解决办法]
%d 是整型
%s 才是字符串