pinnacle has asked for the wisdom of the Perl Monks concerning the following question:
Script
1 #!/usr/bin/perl -w 2 3 use strict; 4 5 my %course = ( 6 2 => 'c', 7 1 => 'unix', 8 3 => 'shell', 9 4 => 'perl', 10 ); 11 12 while ( (my $key, my $value) = each(%course) ) { 13 print "$key => $value\n"; 14 } 15 16 print "\nSorted values of hash:\n"; 17 foreach my $val (sort values %course){ 18 print "$val\n"; 19 } 20 print "\nEnter Key: "; 21 my $type = <stdin>; 22 print "you will be taking $course{$type} this semester\n";
Script Result
:~/pbe/chap5$ ./exer5.pl 4 => perl 1 => unix 3 => shell 2 => c Sorted values of hash: c perl shell unix Enter Key: 2 Use of uninitialized value within %course in concatenation (.) or stri +ng at ./exer5.pl line 22, <stdin> line 1. you will be taking this semester
Question
Can anyone explain why I am always getting above error of "uninitialized value", I know I am doing some small mistake, any input is highly appreciated
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: printing hash values and keys from user (OT: stdin vs. STDIN)
by toolic (Bishop) on Nov 01, 2010 at 18:23 UTC | |
by AnomalousMonk (Archbishop) on Nov 02, 2010 at 02:27 UTC | |
by toolic (Bishop) on Nov 02, 2010 at 03:03 UTC | |
by pinnacle (Acolyte) on Nov 01, 2010 at 18:46 UTC | |
|
Re: printing hash values and keys from user
by liverpole (Monsignor) on Nov 01, 2010 at 18:22 UTC | |
|
Re: printing hash values and keys from user
by Anonymous Monk on Nov 01, 2010 at 18:21 UTC |