X-Git-Url: https://git.camperquake.de/gitweb.cgi?p=quotesite.git;a=blobdiff_plain;f=quotesite%2FBase.pm;h=4445389d507c9cc59bab9d3ea5b3610f2bd985b4;hp=d8a4e988b50ec500f23719752ea38ab7af063f84;hb=5ac855980b32d2995ad48b7a27cc28630306bc15;hpb=c6a78a196987fd7a0200cc9c3d9b79bd84152a5b diff --git a/quotesite/Base.pm b/quotesite/Base.pm index d8a4e98..4445389 100644 --- a/quotesite/Base.pm +++ b/quotesite/Base.pm @@ -8,7 +8,7 @@ use Data::Dumper; sub new { my $class = shift; - my $self = {'_DEBUG' => 0, '_OUT' => sub {print shift}}; + my $self = {'_DEBUG' => 0, '_OUT' => sub {print shift}, '_OUTSTACK' => []}; bless($self, $class); @@ -91,6 +91,23 @@ sub setio { $self->{'_OUT'} = $io; } +sub pushio { + my $self = shift; + my $io = shift; + + push(@{$self->{'_OUTSTACK'}}, $self->{'_OUT'}); + $self->setio($io); +} + +sub popio { + my $self = shift; + my $io = pop(@{$self->{'_OUTSTACK'}}); + + if (defined($io)) { + $self->setio($io); + } +} + sub getconfstr { my $self = shift; my $s = 'Options for ' . $self->{'NAME'} . ":\n";