use strict; use warnings; use Tk; my @files = 1 .. 10; for my $file (@files){ { my $mw = MainWindow->new; $mw->geometry("400x120"); $mw->title("CI Generation"); #-----------------Frames-----------------------# my $main_frame = $mw->Frame()->pack( -side => 'top', - fill => 'x' ); my $top_frame = $mw->Frame( -background => 'light green' )->pack( -side => 'top', -fill => 'x' ); my $left_frame = $mw->Frame( -background => 'white' )->pack( -side => 'top', -fill => 'x' ); $top_frame->Label( -text => "Copy generated *.[ch] files to host repository", )->pack( -side => 'top' ); $left_frame->Label( -text => "Enter host repository path:", -background => 'yellow' )->pack( -side => 'top', -fill => 'x' ); my $pathEntry = "path/$file"; my $entry = $left_frame->Entry( -textvariable => \$pathEntry, -width => 50)->pack( -side => 'top', -fill => 'x' ); my $buttons = $left_frame->Frame()->pack(-side => 'bottom', -fill=>'both', -expand=> 0); my $executeButton= $buttons->Button( -text => "Continue", -command => sub{okbutton($mw, $pathEntry)}, -width => 20, -height => 2, -underline => 11 )->pack(-side => "left"); my $exitButton = $buttons->Button( -text => "Cancel", -command => sub { exit 1; }, -width => 20, -height => 2, -underline => 11 )->pack(-side => "right"); MainLoop; } } sub okbutton{ my ($mw, $pathEntry) = @_; print $pathEntry; if (!$pathEntry) { $mw->messageBox( -icon=>'error', -title=>'Error on Repository Path', -message=>"Error: Repository path should not be empty." ); return ""; } if ($pathEntry !~ /[1245679]/) { $mw->messageBox( -icon=>'error', -title=>'Error on Repository Path', -message=>"Error: Repository path can not include 3, 8 or 0." ); return ""; } $mw->destroy if Tk::Exists($mw); }