This is perl, v5.8.4 built for MSWin32-x86-multi-thread
(with 3 registered patches, see perl -V for more detail)

Copyright 1987-2004, Larry Wall

Binary build 810 provided by ActiveState Corp. http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Jun  1 2004 11:52:21



In this example the source file is across the internet via VPN.

Once in a while after a file has started to copy the connection
breaks.

When this happens $@ is never set and the message "Error" does
not get printed.

Instead the portion of foo.dbf is erased and "Error" is not printed

Now is the module broke or do I not understand eval and it's implications
when using modules?

You can easily simulate this by coping a large file across you
LAN and pull your network cable during the middle of the copy.

Any ideas are welcomed.

++++++++++++ example code +++++++++++++++++

use strict;
use warnings;
use File::Copy;

eval {
  copy("/somepath/foo.dbf", "/someotherpath/work/");
};
if ($@) {
  print "Error" . "\n";
}
print "End of program" . "\n";

+++++++++++++++++++++

p.s.    Interestingly under perl 5.6.1/FreeBSD "Error" does not get printed
but this does to STDERR

Error: could not get handle for foo.dbf
Error reading header of foo.dbf

The application bombs and "End of program" does not print


_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to