# $Id: SubBrowser.pm,v 1.1 2003/10/03 12:08:19 clajac Exp $ package CPANXR::Apache::SubBrowser; use CPANXR::Parser qw(:constants); use strict; sub graph { my ($self, $r, $q) = @_; # Fetch sub id my $sub = $q->param('sub'); my ($sub_id, $pkg_id) = split/_/,$sub,2; my $sub_name = CPANXR::Database->select_symbol($sub_id)->[0]->[0]; my $package = CPANXR::Database->select_symbol($pkg_id)->[0]->[0]; # Fetch type my $type = $q->param('type') || 'svg'; if($sub_id && $pkg_id) { $r->print("Visualizing subroutine: ${package}::${sub_name} as "); $r->print(qq{SVG | }); $r->print(qq{PNG}); $r->print("\n

"); $r->print("
\n"); if($type eq 'svg') { $r->print(qq{}); } elsif($type eq 'png') { $r->print(qq{}); } $r->print("
\n"); } else { $r->print("No such package\n"); } } 1;