2009/10/27 Majian <jian...@gmail.com>: > Hello,all: > I had a question about the perl hash case insensitive . > > And I had this script : > ========================================== > #!/usr/bin/perl > use warnings; > %courses = ( > "2CPR2B" => "C Language", > "1UNX1B" => "Intro to Unix", > "3SH414" => "Shell Programming", > "4PL400" => "Perl Programming", > ); > > print "\n\"EDP\" NUMBERS AND ELECTIVES:\n"; > while (($num, $value) = each (%courses)) > { > print "-----------------------------\n"; > printf "%-10s | %s\n ", $num, $value; > } > > print "\nWhat is the EOP number of the course you wish to take : $num"; > chomp ($num = <STDIN>); > print "The course you will be taking is: \"$courses{$num}\"\n"; > ======================================================= > The question was : > > If I type the "4PL400", then it will output the value ---"Perl > Programming"; > But I want to type the "4pl400" , and the result should be printed "Perl > Programming"
One obvious solution would be to make the hash keys lowercase and then lc($num) to resolve the keys. Dp. -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/