in reply to
converting a command-line program to one with a "pretty" interface
Hello!
I don't know much about Tk ( seems to be more than the average programmer though :-), here is a mighty ugly demo program which will get you on the way. Forking should work...although it doesn't on my windows computer...
use Tk;
$SIG{ CHLD } = sub{ wait };
my $top = new MainWindow;
$top->Label(-text => 'Welcome to My Mail Program')->pack;
$top->Button(-text => 'Start',
-command => \&myStartRoutine
)->pack;
$top->Button(-text => 'Stop',
-command => sub{ kill($pid); exit; }
)->pack;
$top->Label(-text => 'Enter server name')->pack;
my $servname = $top->Entry(-width => 10);
$servname->pack;
$top->Button(-text => 'Configure',
-command => sub{ print "The server name is: ",$s
+ervname->get() ,"\n"}
)->pack;
MainLoop;
sub myStartRoutine
{
if( !($pid = fork) ) # child has the main loop looping for ever
{
while( 1 )
{
print "program started\n"; sleep( 1 );
}
}
}
Hope this helps!