The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Exception::ThrowUnless
======================

This is a pretty simple module.  It provides functions much like the standard
perl functions, except that if they fail, they will die instead of returning
undef.  The messages are usually like:
	"$func:@_:$!", with @_ comma separated.

The functions to date are:

schdir    sclose   sexec      sfork    slink
smkdir    sopen    sreadlink  srename  srename_nc
ssymlink  sunlink

usually, they die if their namesake returns undef.

exceptional functions are:
	sexec:		dies if exec returns at all.
	sunlink: 	does not die, unless one of the files it was asked to
				unlink exists. retries unlink, in this case, to reset
				errno (sometimes got ENOTTY, if all things).
	srename_nc:	tails if $_[1] exists.
	smkdir:		does not die, if $_[0] is a dir, and $! == 17 (EEXIST)

buggy functions:
	sopen:  I can find no prototype that will allow me to reproduce
			the open function in all these cases:
				open(STDIN,">x");
				open(*STDIN,">x");
				open(my $fh,">x");

			and I didn't even try
				our($STDIN) = "hysterical_porpuses";
				open(STDIN);
			
			I'd love to know if/how this is possible.

	return values may differ.

	many are missing.  If you need one that ain't there, drop it in, and
	I'll include it.

	wantarray may differ in wrapped function from what would normally
	happen.  Don't think it matters.  Let me know if I'm wrong.