use strict; use warnings; use Tk; my @array = ("File1.txt", "File2.txt", "File3.txt"); my $main = MainWindow->new (); while (@array) { my $name=pop @array; $main->Button ( -text => "Open $name", -command => sub{`notepad $name`} )->pack(); } MainLoop;