akamboj84 has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks I am trying to save multiple files in Perl TK using Tk::Notebook in a textbox , the problem i am facing is that i am not able to save the edited files. The reason most likely is because my textbox variable remember only latest open file.Can anyone give me idea how to get around this issue
use strict; use warnings; use diagnostics; use Tk; use Tk::NoteBook; my @types=(); my $file_array=undef; my ($page,$content)=undef; my $mw = MainWindow -> new(-title => "Testing"); $mw->Button(-text => "Open", -command =>\&fopen)->pack(-anchor => 'cen +ter', -side=>"left"); $mw->Button(-text => "Save", -command =>\&save)->pack(-anchor => 'cent +er', -side=>"left"); my $nb = $mw->NoteBook(-background=> 'white', -inactivebackground => ' +grey', )->pack(-expand => 1, -fill => 'both'); my $maintab="Main Window"; my $frame = $nb->add($maintab,-label => $maintab); my $txt=$frame-> Text(-width=>240, -height=>50)->pack(); MainLoop; sub file_open { @types =( ["Log files", [qw/.log/]], ["Text files", [qw/.txt/]], ["All files", '*'], ); my $aref = $mw->getOpenFile( -filetypes => \@types , -initialdir => '.', -multiple =>1 ); return($aref); } sub fopen { $file_array=&file_open; print "\n"; print join("\n", @$file_array); print "\n"; for my $tab (@$file_array){ my $frame = $nb->add($tab,-label => $tab); $txt=$frame-> Text(-width=>240, -height=>50)->pack(); open FR, "<$tab" or die "Cant open file:$!\n"; $content=join "", <FR>; $txt->insert('end',"$content"); close(FR); } } sub save { $page=$nb->raised(); $content=$txt->get("1.0", "end"); print "\nsaving content= $content\n"; open FW,">$page" or die "Cant Write to file:$!\n"; print FW $content; close(FW); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl Tk Multiple Notebook Editing and Save
by zentara (Cardinal) on Oct 07, 2014 at 10:36 UTC | |
by akamboj84 (Novice) on Oct 08, 2014 at 05:48 UTC | |
|
Re: Perl Tk Multiple Notebook Editing and Save
by Anonymous Monk on Oct 07, 2014 at 00:00 UTC | |
by akamboj84 (Novice) on Oct 07, 2014 at 05:11 UTC | |
by Anonymous Monk on Oct 07, 2014 at 06:57 UTC |