terrance has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/local/bin/perl use Tk; use File::Tail; <br> #Main Window<br/> <br> my $mw = new MainWindow;<br/> <br> $mw-> title ("Packet Analyzer Tool");<br/> <br> my $frm_4 = $frm_3 -> Frame(-relief => 'groove', -borderwidth +=>2) -> pack(-side => "left");<br/> <br> my $but1 = $frm_1 -> Button(-text => "Start", -command =>\&push_start) -> pack(-side => "left", -anchor => 'nw', -ipadx => 30, -i +pady => 35);<br/> <br> my $txt1 = $frm_4 -> Text(-width => 60, -height =>20,-state => + "disable") -> pack(-side =>"left",-anchor => 's'); my $srl = $frm_4 -> Scrollbar(-orient=>'v', -command =>[yview => $ +txt]);<br/> <br> $txt1 -> configure(-yscrollcommand =>['set',$srl]);<br/> <br> #$txt -> insert('end', "XXX"); //display text<br/> <br> $txt1 -> grid(-row=>1, -column=>1);<br/> <br> $srl -> grid(-row=>1, -column=>2,-sticky=>"ns");<br/> <br>MainLoop;<br/> <br> #Executed START BUTTON<br/> <br> sub push_start<br/> <br> {<br/> <br> chdir( "/var/log/snort");<br/> <br> foreach my $fol(glob "*.*.*.*")<br/> <br> {<br/> <br> print "Opening $fol\n";<br/> <br> chdir("/var/log/snort/$fol");<br/> <br>foreach my $subfile(glob "*:*")<br/> <br>{<br/> <br>print "opening $subfile\n";<br/> <br> push(@files,File::Tail->new(name=>"$subfile",debug=>$d +ebug));<br/> <br> }<br/> <br> while (1)<br/> <br> {<br/> <br> ($nfound,$timeleft,@pending)= File::Tail::select(undef +,undef,undef,$timeout,@files);<br/> <br> unless ($nfound)<br/> <br> {<br/> <br> print "Nothing to print \n"; <br/><br> } <br/> <br> else <br/> <br> {<br/> <br> foreach(@pending)<br/> <br> {<br/> <br>$txt1 ->insert('end', $_->read);<br/> <br> }<br/> <br>}<br/> <br>}<br/> <br>}<br/> }
#!/usr/local/bin/perl <br> use Tk;<br/> <br> use File::Tail;<br/> <br> #Main Window<br/> <br> my $mw = new MainWindow;<br/> <br> $mw-> title ("Packet Analyzer Tool");<br/> <br> my $frm_4 = $frm_3 -> Frame(-relief => 'groove', -borderwidth +=>2) -> pack(-side => "left");<br/> <br> my $but1 = $frm_1 -> Button(-text => "Start", -command =>\&push_start) -> pack(-side => "left", -anchor => 'nw', -ipadx => 30, -i +pady => 35);<br/> <br> my $txt1 = $frm_4 -> Text(-width => 60, -height =>20,-state => + "disable") -> pack(-side =>"left",-anchor => 's'); my $srl = $frm_4 -> Scrollbar(-orient=>'v', -command =>[yview => $ +txt]);<br/> <br> $txt1 -> configure(-yscrollcommand =>['set',$srl]);<br/> <br> #$txt -> insert('end', "XXX"); //display text<br/> <br> $txt1 -> grid(-row=>1, -column=>1);<br/> <br> $srl -> grid(-row=>1, -column=>2,-sticky=>"ns");<br/> <br>MainLoop;<br/> <br> #Executed START BUTTON<br/> <br> sub push_start<br/> <br> {<br/> <br> chdir( "/var/log/snort");<br/> <br> foreach my $fol(glob "*.*.*.*")<br/> <br> {<br/> <br> print "Opening $fol\n";<br/> <br> chdir("/var/log/snort/$fol");<br/> <br>foreach my $subfile(glob "*:*")<br/> <br>{<br/> <br>print "opening $subfile\n";<br/> <br> push(@files,File::Tail->new(name=>"$subfile",debug=>$d +ebug));<br/> <br> }<br/> <br> while (1)<br/> <br> {<br/> <br> ($nfound,$timeleft,@pending)= File::Tail::select(undef +,undef,undef,$timeout,@files);<br/> <br> unless ($nfound)<br/> <br> {<br/> <br> print "Nothing to print \n"; <br/><br> } <br/> <br> else <br/> <br> {<br/> <br> foreach(@pending)<br/> <br> {<br/> <br>tie *STDOUT ref $txt1, $txt1;<br/> <br>print $_->read;<br/> <br> }<br/> <br>}<br/> <br>}<br/> <br>}<br/> }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: combine perl/tk and file::tail::select
by sflitman (Hermit) on Apr 03, 2011 at 23:38 UTC | |
by spx2 (Deacon) on Apr 04, 2011 at 00:34 UTC | |
by Anonymous Monk on Apr 04, 2011 at 04:25 UTC | |
by spx2 (Deacon) on Apr 04, 2011 at 07:14 UTC | |
|
Re: combine perl/tk and file::tail::select
by spx2 (Deacon) on Apr 04, 2011 at 07:15 UTC |