C->f1();


package A;

sub f1 
{
    my $class = ref( $_[0] ) || $_[0];

    print "A::f1 if $class\n" ;
    $_[0]->f2();
}

package B;

BEGIN {
    our @ISA;
    @ISA = ( 'A' );
}

sub f2 
{
    my $class = ref( $_[0] ) || $_[0];
    
    print "B::f2 if $class\n" ;
}

package C;

BEGIN {
    our @ISA;
    @ISA = ( 'B' );
}

sub f1 
{
    my $class = ref( $_[0] ) || $_[0];
    
    print "C::f1 if $class\n" ;
    $_[0]->SUPER::f1();
}
