#! 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")
},
...
);