#!/usr/bin/perl use strict; use warnings; use Graph; use IO::Scalar; use Module::Load; use Graph::Writer::Dot; use Graph::Reader::LoadClassHierarchy; my $class_name = shift; die "Usage: $0 class_name" unless defined $class_name; my @additional_classes = @ARGV; eval { load $_ for @additional_classes }; load $class_name; my $reader = Graph::Reader::LoadClassHierarchy->new; my $graph = $reader->read_graph( $class_name ); my $output = IO::Scalar->new; my $writer = Graph::Writer::Dot->new; $writer->write_graph( $graph, $output ); print $output;