package visual; require Exporter; @ISA = (Exporter); @EXPORT = qw( page html htmlstr ) ; sub page { my ($bod,$title,$subtitle) =@_; print <<"."; $title

$title

$subtitle


. html($bod); print "\n\n\n"; } sub html { my $a = shift; if (!ref($a)) { print "$a\n"; } elsif (ref($a) eq "ARRAY") { if (@$a) { print "\n"; } } elsif (ref($a) eq "HASH") { print "
\n"; for(keys %$a) { print "\t
$_\n"; print "\t
"; html ($a->{$_}); } print "
"; } else { print "$a ?? \n"; } } sub htmlstr { my $a = shift; my $c = ""; if (!ref($a)) { $c .= "$a\n"; } elsif (ref($a) eq "ARRAY") { if (@$a) { $c .= "\n" ; } } elsif (ref($a) eq "HASH") { $c .= "
\n"; for(keys %$a) { $c .= "\t
$_\n"; $c .= "\t
"; $c .= htmlstr ($a->{$_}); } $c .= "
"; } else { $c .= "$a ?? \n"; } $c; } 1;