![]() |
On Sat, Jan 16, 1999 at 03:43:16PM +0200, Eric Smith wrote: > Hiya > > Whenever my perl scrip comes to this exec statement, it falls over and > exits (but does _successfully_ send the fax according to the contents of > the variables) --> > > exec "sendfax $server -R -n -d $faxno ./temp/$faxno.tmp >/dev/null"; > The problem isnt that the command is failing, its that the exec command replaces the current running process, which means that code following an exec will never get run. This is from the perl documentation: =item exec PROGRAM LIST The C<exec()> function executes a system command I<AND NEVER RETURNS> - use C<system()> instead of C<exec()> if you want it to return. It fails and returns FALSE only if the command does not exist I<and> it is executed directly instead of via your system's command shell (see below). Since it's a common mistake to use C<exec()> instead of C<system()>, Perl warns you if there is a following statement which isn't C<die()>, C<warn()>, or C<exit()> (if C<-w> is set - but you always do that). If you I<really> want to follow an C<exec()> with some other statement, you can use one of these styles to avoid the warning: -- Jason Kohles -- jason@mediabang.com http://www.mediabang.com/ We don't understand the software, and sometimes we don't understand the hardware, but we can *see* the blinking lights!