eval { hacker Perl another Just $,=$"}; eval { Just another Perl hacker }; package another ;sub Just {print qw; Perl hacker ;} package hacker ;sub Perl {print qw; Just another ;,''} #### Just another Perl hacker local+$,=$";package another;sub Just{print(substr((caller(0))[3],3**2),@_)} package hacker;sub Perl{Just another((split/:./,(caller(0))[3])[1,0]),exit}