At 15:28 -0800 2003.04.02, Nicholas G. Thornton wrote: >.. but if the input is fine it returns either the input (as it's currently >designed) or a true value (the easier way). Either way I was wondering how to >set $! since = doesn't seem to work.
You can set $! to any integer, and its return value is mapped to the corresponding system error. For example, under Mac OS X: [EMAIL PROTECTED] pudge]$ perl -le 'for (0..20) { $! = $_; print $! }' Operation not permitted No such file or directory No such process Interrupted system call Input/output error Device not configured Argument list too long Exec format error Bad file descriptor No child processes Resource deadlock avoided Cannot allocate memory Permission denied Bad address Block device required Device busy File exists Cross-device link Operation not supported by device Not a directory $^E works similarly. A better option might b e $@, which can be set to arbitrary error values. -- Chris Nandor [EMAIL PROTECTED] http://pudge.net/ Open Source Development Network [EMAIL PROTECTED] http://osdn.com/