{ package A; use fields qw/a/; sub new { return fields::new(shift); } sub legal_keys { my ( $self ) = @_; print $self, "\n"; return Hash::Util::legal_keys $self; } } my $a = A->new; print $a->legal_keys, "\n"; print $a, "\n"; print Hash::Util::legal_keys($a), "\n";