sub a{ print 'from a'; undef $_ };; sub b{ print 'from b'; undef $_ };; @r = ( \&a, \&b );; $_->( 1 ) for @r;; from a from b $_->( 1 ) for @r;; Use of uninitialized value in subroutine entry at (eval 13) Undefined subroutine &main:: called at (eval 13)