Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Assuming that your diamondy inheritance heirarchy is somewhat sane, the most common problems that cause a hierarchy to be invalid are re-ordering of dependencies, which is relatively easy to spot and fix. Example: package A; our @ISA = qw/B C/; package B; our @ISA = qw/D E/; package C; our @ISA = qw/E D/; Because A inherits from B+C, and they each inherit D+E in a different order, C3 cannot resolve this. The fix is to use D+E in the same order in both places. Most issues converting legacy hierarchies to C3 basically boil down to some (possibly very complex) variant of this sort of thing, in either the horizontal or vertical direction. I've come to think that if a hierarchy doesn't pass C3 muster, it was a bit psycho to begin with :)

    • "Assuming that your diamondy inheritance heirarchy is somewhat sane"

      I think I see the problem.