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";
for(@$a) {
print "\t- ";
html($_);
}
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";
for(@$a) {
$c .= "\t- ";
$c .= htmlstr($_);
}
$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;