2011-04-05 1 views
1

나는 이것이 새로운 질문이 아니라는 것을 알고 있습니다. 그러나 나는 다른 글에서 해결할 수있는 해결책을 따르려고합니다. 그러나 텍스트 영역에는 아무 것도 인쇄 할 수 없습니다. .if 나는 직접 내 텍스트 파일에 문장을 인쇄하면 ... 그 일이 .. 왜?은 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"); 
} 
+0

코드를 들여 씁니다. –

답변

7

를 사용하여 코드에 perltidy 및 추가

다음
use strict; 
use warnings; 

당신은

  1. my $srl = $frm_4->Scrollbar(-orient => 'v', -command => [ yview => $txt ]);

  2. 에서 $ TXT => $ txt1 오타가 누락을 잡을 겁니다 my @contents = <$fh>;

  3. 초 생각 켜기 foreach my $line (@contetns) 오타

: 당신이 확신 파일이 존재하고 접근?