All pastes #208312 Raw Edit

Unnamed

public text v1 · immutable
#208312 ·published 2006-10-18 15:08 UTC
rendered paste body
{
	package Foo;

	sub new {
		bless {}, shift;
	}
	
	sub run {
		my $self = shift;
		print "in " . __PACKAGE__ . "\n";
		print "now going down\n";
		print "in " . __PACKAGE__ . "\n";
		  
	}

}

{
	package Foo::Bar;
	use base qw(Foo);

	sub run {
		my $self = shift;
		print "in " . __PACKAGE__ . "\n";
		$self->SUPER::run();
		print "in " . __PACKAGE__ . "\n";
	}

}

{
	package Foo::Bar::Baz;
	use base qw(Foo::Bar);

	sub run {
		my $self = shift;
		print "in " . __PACKAGE__ . "\n";
 		$self->SUPER::run();
		print "in " . __PACKAGE__ . "\n";
	}

}

{
	package Foo::Bar::Baz::Mod;
	use base qw(Foo::Bar::Baz);

	sub run {
		my $self = shift;
		print "in " . __PACKAGE__ . "\n";
 		$self->SUPER::run();
		print "in " . __PACKAGE__ . "\n";
	}

}


my $obj = Foo::Bar::Baz::Mod->new();
$obj->run;






ca marche et ca donne :

in Foo::Bar::Baz::Mod
in Foo::Bar::Baz
in Foo::Bar
in Foo
now going down
in Foo
in Foo::Bar
in Foo::Bar::Baz
in Foo::Bar::Baz::Mod