fork download
  1. #!/usr/bin/perl
  2.  
  3. # Idiom #295 String to Enum
  4.  
  5. use feature 'say';
  6.  
  7. use constant { RED => 1, GREEN => 2, BLUE => 3 };
  8.  
  9. sub TryStrToEnum { eval uc shift }
  10.  
  11. say 'BLUE is ', BLUE;
  12. say 'GREEN is ', GREEN;
  13. say 'RED is ', RED;
  14.  
  15. print "TryStrToEnum('Green') is ", TryStrToEnum('Green'),"\n";
  16.  
  17. say 'names are case sensitive';
  18. say 'name conversion by TryStrToEnum is not case sensitive';
  19.  
Success #stdin #stdout 0.01s 5548KB
stdin
Standard input is empty
stdout
BLUE  is 3
GREEN is 2
RED   is 1
TryStrToEnum('Green') is 2
names are case sensitive
name conversion by TryStrToEnum is not case sensitive