Without that, $roomcmd will have "\n" as the last character.chomp (my $roomcmd = <>) ;
I would re-design your House Class as:
package Room; sub new { my ($class,$id,$type,$desc) = @_; return bless {id=>$id, name=>$type, detail=>$descr}, $class; } #-------------------------- package House; my $roomid = 1; sub new{ my $class = shift; my $self = { rooms => {}, }; bless $self, $class; return $self; } sub addroom { my ($self, @room_params) = @_; die "No room type specified" unless $room_params[1]; die "I already have a $room_params[1]. No code to add another." if + $self->{rooms}{$room_params[1]} ; $roomid++; $room_params[0] ||= $roomid; # Auto-incremented $self->{rooms}{$room_params[1]} = Room::->new (@room_params); return $self; # ALlows "addroom" calls to be chained... } sub findroom{ my ($self, $room_type) = @_; return $self->{rooms}{$room_type}; }
"I'm fairly sure if they took porn off the Internet, there'd only be one website left, and it'd be called 'Bring Back the Porn!'"
-- Dr. Cox, Scrubs
In reply to Re: Use Objects as Hash Values?
by NetWallah
in thread Use Objects as Hash Values?
by cmikel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |