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);
$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";