If used numerically, yields the current value of the C errno
variable, with all the usual caveats. (This means that you shouldn't depend on the value of $!
to be anything in particular unless you've gotten a specific error return indicating a system error.) If used an a string, yields the corresponding system error string. You can assign a number to $!
to set errno if, for instance, you want "$!"
to return the string for error n, or you want to set the exit value for the die() operator. (Mnemonic: What just went bang?)
Also see "Error Indicators".