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/


Reply via email to