my %data; my $myObj = new test::mod1(); %data = $myObj->prepare(%data); ------------------------- package test::mod1; sub new { my ($class_name, $dql) = @_; my $internalData = {dql => $dql}; bless($internalData, $class_name); return $internalData; } sub prepare { my ($internalData, %record) = @_; return %record; }