1
我知道這不是一個新問題..但我嘗試按照從其他帖子制定出的解決方案...但是在我的文本區域沒有任何可打印的內容..如果我直接在我的文本文件上打印一個句子。它的工作......爲什麼?您的代碼無法讀取perl/tk中的文件內容TEXT
#!/usr/local/bin/perl
use Tk;
use File::Tail;
#Main Window
my $mw = new MainWindow;
$mw-> title ("Packet Analyzer Tool");
my $frm_1 = $mw -> Frame() -> pack();
my $frm_2 = $mw -> Frame() -> pack();
my $frm_3 = $mw -> Frame() -> pack();
my $frm_4 = $frm_3 -> Frame(-relief => 'groove', -borderwidth =>2) -> pack(-side => "left");
my $frm_5 = $frm_3 -> Frame() -> pack(-side => "right",-after => $frm_4);
my $but1 = $frm_1 -> Button(-text => "Start",
-command =>\&push_start)
-> pack(-side => "left", -anchor => 'nw', -ipadx => 30, -ipady => 35);
my $but2 = $frm_1 -> Button(-text => "Stop",
-command =>\&push_stop)
-> pack(-side => "left",-after =>$but1, -expand => 1,-ipadx => 30, -ipady => 35);
my $but3 = $frm_1 -> Button(-text => "Pause",
-command =>\&push_pause)
-> pack(-side => "left",-after => $but2 ,-ipadx => 30, -ipady => 35);
my $but4 = $frm_1 -> Button(-text => "Exit",
-command =>\&push_exit)
-> pack(-side => "left", -after => $but3 ,-ipadx => 30, -ipady => 35);
my $filter = $frm_2 ->Entry(-width => 65) -> pack(-side =>"left",-anchor => 's');
my $but5 = $frm_2 -> Button(-text => "Search", -command =>\&push_search)
->pack(-side => "left", -after => $filter, -ipadx => 10);
my $txt1 = $frm_4 -> Text(-width => 60, -height =>20)
-> pack(-side =>"left",-anchor => 's');
my $srl = $frm_4 -> Scrollbar(-orient=>'v', -command =>[yview => $txt]);
$txt1 -> configure(-yscrollcommand =>['set',$srl]);
$txt1 -> grid(-row=>1, -column=>1);
$srl -> grid(-row=>1, -column=>2,-sticky=>"ns");
my $txt2 = $frm_5 -> Text(-width => 15, -height =>20)
-> pack(-side=>"right", -anchor => 'e');
MainLoop;
#Executed START BUTTON
sub push_start
{
open my $fh,'<','/home/terrance/Desktop/perl/record.txt' || die $!;
my @contents = <$fh>;
foreach my $line (@contents)
{
$txt1 ->insert("end", $line);
}
#$txt1 -> insert ('end', "hello due\n");
}
請縮進您的代碼。 – 2011-04-05 11:15:55