sub getProperties { my $props = {}; . . . if ($name ne "") { $props->{$name} = $value; } . . . bless($props); return $props; } #### sub get { my $self = shift; my $propName = shift; return $self->{$propName}; } #### $VAR1 = bless( { 'log.name' => 'data load', 'rows' => '1', 'directory' => 'smsc$root:[statistics]', 'node' => 'YTSMSC', 'username' => 'smsc', 'passwd' => 'XxXx', 'localpath' => '/usr/local/reporting/ytsmsc', 'machine' => '172.23.2.2' }, 'Properties' ); #### sub get { my $self = shift; my $propName = shift; print "?$propName?\n"; #1 my @keys = @_ ? @_ : sort keys %$self; #2 my @keys = ($propName); print ">>@keys\n"; foreach my $key (@keys) { print "\t$key => $self->{$key}\n"; } # return $self->{'$propName'}; } #### [appadmin@NEOps2]/usr/local/reporting(159): ./u.pl --ne=floom --conf=test.conf ?remote.passwd? >>directory localpath log.name machine node passwd rows username directory => smsc$root:[statistics] localpath => /usr/local/reporting/ytsmsc log.name => data load machine => 172.23.2.2 node => YTSMSC passwd => xXxX rows => 1 username => smsc #### [appadmin@NEOps2]/usr/local/reporting(160): ./u.pl --ne=floom --conf=test.conf ?remote.passwd? >>remote.passwd remote.passwd =>