perlquestion
Anonymous Monk
<p>
Below is my code. It runs a backup program from a pTk GUI.
My problem is at the 'system($cmd)' statement. The command gets
executed before the message gets displayed in the text widget.
</p>
<p>
I want a message that tells * is being done, then when the process is
done a message that says * is done along with relevant error codes.
</p>
<p>
Is there a better way to do this? And why are the messages displayed
at the wrong time?
</p>
<code>
my @cmd = "";
push (@cmd , $prog_args , $fullfile2 , "/" );
my $cmd2 = join " " , @cmd ;
$text -> delete ('1.0' , 'end' );
$text -> insert ('end' , "\n" );
$text -> insert ('end' , "THIS OPERATION SHOULD TAKE 5 min. to 15 min. \n ", 'highlite' );
my $exit_status = system( $cmd2 );
print "\$exit_status at L1447 =: $exit_status\n";
if ( 0 == $exit_status )
{
$text -> insert ('end' , "\n\n" );
$text -> insert ('end' , "DONE! \n", 'highlite' );
}
</code>
3