in reply to Re: $FORMAT_LINES_LEFT question.
in thread $FORMAT_LINES_LEFT question.

$- and $= are magically bound to fields in the currently selected IO handle, and can only be integers. Watch:
$ perl -we'$= = "123 abc"; print $=' Argument "123 abc" isn't numeric in scalar assignment at -e line 1. 123 $ perl -we'$= = undef; print $-' Use of uninitialized value in scalar assignment at -e line 1. 0
Whatever you feed them is converted to an integer (with a warning, if appropriate) as it is stored. (In the case of $-, it also is made 0 if it was negative.)

One of my all time favorite warning messages:

$ perl -we'undef $=; print $-' Use of uninitialized value in undef operator at -e line 1. 0