GraphViz::ISA - @ISA graphisch darstellen
Veröffentlicht von Thomas Fahle am (Permalink)
GraphViz::ISA - Graphing class hierarchies at run-time von Marcel Grünauer ermöglicht die graphische Darstellung des @ISA.
Beispiel
Das folgende Beispielprogramm habe ich der Distribution von GraphViz::ISA entnommen:
#!/usr/bin/perl # The hierarchy shown here is based on an example Damian Conway's book # "Object Oriented Perl" # # Usage: ./isatest.pl >isa.png # ###################################################################### # https://github.com/hanekomu/GraphViz-ISA/blob/master/eg/isatest.pl # ###################################################################### use warnings; use strict; use GraphViz::ISA; sub Coder::new { bless {}, (ref($_[0]) || $_[0]) } sub Documenter::new { bless {}, (ref($_[0]) || $_[0]) } @Programmer::ISA = qw(Coder Documenter); sub Obfuscator::new { bless {}, (ref($_[0]) || $_[0]) } @Perl::Hacker::ISA = qw(Programmer Obfuscator); sub Writer::new { bless {}, (ref($_[0]) || $_[0]) } sub Humorist::new { bless {}, (ref($_[0]) || $_[0]) } sub One::Sick::Puppy::new { bless {}, (ref($_[0]) || $_[0]) } @Punmeister::ISA = qw(Writer Humorist One::Sick::Puppy); sub Language::Maestro::new { bless {}, (ref($_[0]) || $_[0]) } sub Educator::new { bless {}, (ref($_[0]) || $_[0]) } @Perl::Guru::ISA = qw(Perl::Hacker Language::Maestro Educator Punmeister); my $p = Perl::Guru->new; my $g = GraphViz::ISA->new($p); print $g->as_png;
Das Programm erzeugt folgende Graphik: