in reply to A flock question

Another way is to insert your own WARN or DIE hander...and you just do what you want...
#!/usr/bin/perl -w use strict; use Fcntl qw(:DEFAULT :flock); my $handle; { local $SIG{__WARN__} = sub { my $msg = shift; print STDERR "*** my message **** $msg"; }; sysopen ($handle, "abc", O_WRONLY | O_CREAT ) or warn "blah"; close $handle; flock ($handle, LOCK_EX | LOCK_NB) or warn "unable to flock"; } __END__ *** my message **** flock() on closed filehandle $handle at C:\TEMP\fl +ockFail.pl line 17. *** my message **** unable to flock at C:\TEMP\flockFail.pl line 17.
Update: I know that others will disagree, but I think that in this case:
flock ($handle, LOCK_EX | LOCK_NB), that the extra parens add value and shows that these params go with "flock". Perl allows the parens to omitted in many cases. But I do not think that it is "best practice" to do so in every case where it is allowed. Just because the language allows it does not mean that you should do it. Clarity should be a main point.