home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / perl / nutshell / ch5 / caseassoc.eg < prev    next >
Encoding:
Text File  |  1992-10-18  |  449 b   |  21 lines

  1. sub case {
  2.     local(*assoc,$_) = @_;
  3.     for (split(/\n/)) {
  4.     /^(\S+)\s+(.*)/;
  5.     for (eval $1) {
  6.         $assoc{$_} = $2;
  7.     }
  8.     }
  9. }
  10. &case(*foo,<<'ENDCASE');
  11. 0..255                  print "something else\n";
  12. ord('a')..ord('z')  print "a lowercase letter\n";
  13. ord('A')..ord('Z')  print "an uppercase letter\n";
  14. ord('0')..ord('9')  print "a digit\n";
  15. ENDCASE
  16.  
  17. for (split(//,"Just another 4 perl hackers,")) {
  18.     print "$_ is ";
  19.     eval $foo{ord($_)};
  20. }
  21.