use strict; use warnings; use Data::Dumper; my $foo = { foo => [qw{d e f}], bar => [qw{g h i}]}; my %bar = ( foo => [qw{m n o}], bar => [qw{p q r}]); bless $foo, 'FooStuff'; bless \%bar, 'FooStuff'; sub FooStuff::myMethod (\%) { my $self = shift; print Dumper($self); } $foo->myMethod; FooStuff::myMethod(%bar);