#! perl use strict; use warnings; package Room { sub new { my $class = shift; my $self = { id => shift, name => shift, detail => shift, }; return bless $self, $class; } } my %houserooms = ( kitchen => Room->new(1, 'kitchen', 'sleek and modern'), den => Room->new(2, 'den', 'board games and more'), ); print "\nEnter room (or \"quit\"):\n"; chomp(my $roomcmd = <>); while ($roomcmd ne 'quit') { print $houserooms{$roomcmd}->{detail} // "$roomcmd not found"; print "\n\nEnter room (or \"quit\"):\n"; chomp($roomcmd = <>); } #### 18:22 >perl 607_SoPW.pl Enter room (or "quit"): kitchen sleek and modern Enter room (or "quit"): den board games and more Enter room (or "quit"): bedroom bedroom not found Enter room (or "quit"): quit 18:23 > #### %houserooms = ( kitchen => { House->new("1","kitchen","sleek and modern") }, ... );