#!/usr/local/bin perl -w use strict; package Yar; sub new { my $class = shift; my $self = {}; my %params = @_; foreach my $token (keys %params) { if (exists &$token) { $self->{uc $token} = $params{$token}; } else { warn "We don't have any \"$token\" thingies 'round these parts!\n"; } } bless($self); return $self; } sub name { my $self = shift; if (@_) {$self->{'NAME'} = shift;return 1} return $self->{'NAME'}; } sub age { my $self = shift; if (@_) {$self->{'AGE'} = shift;return 1} return $self->{'AGE'}; } return 1; #### #!/usr/local/bin/perl -w use strict; use Yar; my $yarobj = new Yar(name=>"YaR",age=>"23",foo=>"bar"); print "Output: ",$yarobj->name,$yarobj->age,"\n";