lenti248 [~/perltest]>more rand2hash.pl #!/usr/bin/perl -w # # assign keys and values to a hash # keys = 1 letter codes, values = aa names %aa_codes = ("A" => "alanine", "R" => "arginine", "D" => "aspartate", "N" => "asparagine", "C" => "cysteine", "E" => "glutamate", "Q" => "glutamine", "G" => "glycine", "H" => "histidine", "I" => "isoleucine", "L" => "leucine", "K" => "lysine", "M" => "methionine", "F" => "phenylalanine", "P" => "proline", "S" => "serine", "T" => "threonine", "Y" => "tyrosine", "W" => "tryptophan", "V" => "valine"); # seed random number generator srand ; # equivalent to srand (time) - a different seed each time # start main program loop $again = "y"; until ($again ne "y") { # print random name and code @allcodes = keys (%aa_codes); $code = $allcodes [int (rand (scalar @allcodes))]; print $aa_codes{$code}, " ", $code, "\n\n"; # end main program loop print "Again (y/n)? "; chomp ($again = ); $again = lc ($again); $again = substr ($again,0,1); } exit; lenti249 [~/perltest]>perl rand2hash.pl isoleucine I Again (y/n)? y asparagine N Again (y/n)? y serine S Again (y/n)? y tryptophan W Again (y/n)? y glutamate E Again (y/n)? n lenti250 [~/perltest]>