use B; BEGIN { B::save_BEGINs() } BEGIN { "Boo!" } print $_->object_2svref->() for B::begin_av->ARRAY; # Corrected by adding ->ARRAY. I forgot that begin_av does not return # a list, it returns a [cpan://B]::AV object which must have ->ARRAY # called on it to get the contents.