use B; sub share(\[@%$]) {print qq/[@_]/} %stash = B::svref_2object(\%{"::"})->ARRAY; $c=B::svref_2object(\&share); #... or this $c=B::svref_2object(\&share); print 'prototype equals to '. $stash{share}->CV->PV,"\n";