in reply to Need help with OO perl
($self->{lib}) = ($lib->print_name());
just put undef into $self->{lib} and undef->print_name can not work later.
maybe you should replace
with:($self->{lib}) = ($lib->print_name());
$self->{lib} = $lib;
Boris
In Section
Seekers of Perl Wisdom