#!/usr/bin/perl -w
use strict;

my $eval1 = join(
		 '',
		 'package ',
		 'My::Test;',
		 'sub handler {',
		 "\n#line 1 Myfile\n",
		 'print "Nr1\n";',
		 "\n}",
		 );
eval $eval1;

&My::Test::handler;

print "\n----------------\n";

my $eval2 = join(
		 '',
		 'my $save = \&My::Test::handler;',
		 'package ',
		 'My::Test;',
		 'sub bak {',
		 "\n#line 1 Myfile\n",
		 '&$save;',
		 'print "Nr2\n";',
		 "\n}",
		 );
eval $eval2;

my $eval3 = join(
		 '',
		 'package ',
		 'My::Test;',
		 'sub handler {',
		 "\n#line 1 Myfile\n",
		 '&My::Test::bak;',
		 "\n}",
		 );

eval $eval3;

&My::Test::handler;

