- Add iBashGrabber
[quotesite.git] / quotesite / Base.pm
index d8a4e98..4445389 100644 (file)
@@ -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";