Thanks zentara! Worked to perfection....Here is my code that tails three separate files using the tabs....Cheers!
use Tk;
use Tk::NoteBook;
use IO::Handle;
my $S=IO::Handle->new;
my $D=IO::Handle->new;
my $E=IO::Handle->new;
my $baseDir = "/";
my $sumFile = $baseDir."summary.log";
my $detFile = $baseDir."detail.log";
my $errFile = $baseDir."error.log";
open($S,"tail -f $sumFile |") or die $!;
open($D,"tail -f $detFile |") or die $!;
open($E,"tail -f $errFile |") or die $!;
$mw = MainWindow->new();
$mw->geometry( "600x200" );
$book = $mw->NoteBook()->pack( -fill=>'both', -expand=>1 );
my $sumTab = $book->add( "Sheet 1", -bitmap => 'info');
my $detTab = $book->add( "Sheet 2", -bitmap => 'questhead');
my $errTab = $book->add( "Sheet 3", -bitmap => 'error');
my $sumText = $sumTab->Scrolled('Text', -wrap=>'none')->pack(-expand=>
+1);
my $detText = $detTab->Scrolled('Text', -wrap=>'none')->pack(-expand=>
+1);
my $errText = $errTab->Scrolled('Text', -wrap=>'none')->pack(-expand=>
+1);
$sumText->fileevent(\*$S,'readable',[\&fillSummary,$sumText]);
$detText->fileevent(\*$D,'readable',[\&fillDetails,$detText]);
$errText->fileevent(\*$E,'readable',[\&fillErrors,$errText]);
MainLoop;
sub fillSummary {
my ($w) = @_;
my $text = <$S>;
$w->insert('end',$text);
$w->yview('end');
}
sub fillDetails {
my ($w) = @_;
my $text = <$D>;
$w->insert('end',$text);
$w->yview('end');
}
sub fillErrors {
my ($w) = @_;
my $text = <$E>;
$w->insert('end',$text);
$w->yview('end');
}
|