Thanks all ~
when I type this command "perldoc -f uc", then find this :
uc EXPR
uc
Returns an uppercased version of EXPR. This is the internal function
implementing the "\U"
escape in double-quoted strings. Respects current LC_CTYPE locale if "use
locale" in force.
See perllocale and perlunicode for more details about locale and Unicode
support. It does
not attempt to do titlecase mapping on initial letters. See "ucfirst"
for that
If EXPR is omitted, uses $_.
On Tue, Oct 27, 2009 at 8:11 PM, Thomas Bätzler <[email protected]>wrote:
> Majian <[email protected]> asked:
>
>
> > %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"
> >
> > How could I come it true?
>
> Use "chomp ($num = uc(<STDIN>) )" to uppercase the input and make sure that
> all your keys are in upper case, too.
>
> HTH,
> Thomas
>