From: someone@some.where.com To: someoneelse@some.whereelse.com Subject: Nothing Date: Yesterday #### From: someone@some.where.com From: someone@some.where.com From: someone@some.where.com From: someone@some.where.com #### #!/usr/bin/perl use Tk; my $msg ="From: someone\@some.where.com\n To: someoneelse\@some.whereelse.com\n Subject: Nothing\n Date: Yesterday\n"; my @pattern = ('From: .*?\n', 'To: .*?\n', 'Subject: .*?\n', 'Date: .*?\n'); my $buffer; my $mw = new MainWindow; # Main Window my $frm_1 = $mw -> Frame(); my $lab1 = $frm_1 -> Label(-text=>"This Works:"); my $next = $mw -> Button(-text=>"Next", -command =>\&next); my $quit = $mw -> Button(-text=>"Quit", -command =>\&quit); my $textarea1 = $mw -> Frame(); #Creating Another Frame my $txt1 = $textarea1 -> Text(-width=>80, -height=>20, -wrap=>'none'); my $srl_y1 = $textarea1 -> Scrollbar(-orient=>'v',-command=>[yview => $txt1]); my $srl_x1 = $textarea1 -> Scrollbar(-orient=>'h',-command=>[xview => $txt1]); $txt1 -> configure(-yscrollcommand=>['set', $srl_y1], -xscrollcommand=>['set',$srl_x1]); $lab1 -> grid(-row=>1,-column=>1); $frm_1 -> grid(-row=>1,-column=>1,-columnspan=>2); $next -> grid(-row=>6,-column=>1,-columnspan=>2); $quit -> grid(-row=>6,-column=>3,-columnspan=>2); $txt1 -> grid(-row=>1,-column=>1); $srl_y1 -> grid(-row=>1,-column=>2,-sticky=>"ns"); $srl_x1 -> grid(-row=>2,-column=>1,-sticky=>"ew"); $textarea1 -> grid(-row=>5,-column=>1,-columnspan=>2); my $frm_2 = $mw -> Frame(); my $lab2 = $frm_2 -> Label(-text=>"This Doesn't:"); my $textarea2 = $mw -> Frame(); #Creating Another Frame my $txt2 = $textarea2 -> Text(-width=>80, -height=>20, -wrap=>'none'); my $srl_y2 = $textarea2 -> Scrollbar(-orient=>'v',-command=>[yview => $txt2]); my $srl_x2 = $textarea2 -> Scrollbar(-orient=>'h',-command=>[xview => $txt2]); $txt2 -> configure(-yscrollcommand=>['set', $srl_y2], -xscrollcommand=>['set',$srl_x2]); $lab2 -> grid(-row=>1,-column=>3); $frm_2 -> grid(-row=>1,-column=>3,-columnspan=>2); $txt2 -> grid(-row=>1,-column=>3); $srl_y2 -> grid(-row=>1,-column=>4,-sticky=>"ns"); $srl_x2 -> grid(-row=>2,-column=>3,-sticky=>"ew"); $textarea2 -> grid(-row=>5,-column=>3,-columnspan=>2); MainLoop; sub next{ $txt1->delete('0.0', 'end'); $txt2->delete('0.0', 'end'); foreach (@pattern) { $msg=~m/$_/; $txt1 -> insert('end',substr( $msg, $-[0], $+[0]-$-[0] )); $msg=~m/$_/; # $buffer=$&; $txt2 -> insert('end',$&); } } sub quit{ destroy $mw; }