継承ツリーに嵌った。 Class::C3とかNEXTとか

use baseを使わずに、@ISAを触るようにすると解消されました。
ただ、なんでuse baseを使うと@ISAにExporterが入ってくるのがわかりません。

#! perl

package Z;
use Class::C3;
use base ();
sub foo{ print "Z\n"; }

package A;
use Class::C3;
use base qw/Z/;
sub foo{ print "A:@A::ISA\n"; $_[0]->next::method() }

package B;
use Class::C3;
use base qw/A/;
sub foo{ print "B:@B::ISA\n"; $_[0]->next::method() }

package C;
use Class::C3;
use base qw/B/;
sub foo{ print "C:@C::ISA\n"; $_[0]->next::method() }

package D;
use Class::C3;
use base qw/B/;
sub foo{ print "D:@D::ISA\n"; $_[0]->next::method() }

package E;
use Class::C3;
use base qw/B/;
sub foo{ print "E:@E::ISA\n"; $_[0]->next::method() }

package F;
use Class::C3;
use base qw/C D E/;
sub foo{ print "F:@F::ISA\n"; $_[0]->next::method() }

package main;

use strict;
use warnings;
use Class::C3;

F->foo();
$ c3.pl
F:C D E
C:B
D:B
E:B
B:Exporter
No next::method 'foo' found for F at /usr/lib/perl5/5.10.0/mro.pm line 26.

ん〜〜。 なんで@B::ISA = (Exporter)になっているのかが、全くわかりません。。。
F->C->D->E->B->A->Zと順番に呼び出される予定なんですが。