Corion, ^Z does more than just mess up reading from binary files. Consider the following code (I know it's nonsense, but bear with me):
#/usr/bin/perl
use CGI;
my $query = new CGI;
print "Where did this line go?\n";
That code will work fine on linux, but in Active State Perl on my Windows box, that last line will never appear if I run it from the command line (admittedly, this might happen in all WinPerl versions). You can imagine my fun in debugging that.
What's going on is that when I instantiate a new CGI object, I have to enter name=value pairs in offline mode. Then I press ^Z to stop that. Nothing else prints until I print a newline! (I've tried $| = 1 to no avail).
Needless to say, this has made my life hell when I've debugged CGI scripts and forgotten about this little "feature".
Update: To make matters worse, this feature appears to be intermittant. Every once in a while, with no code changes, "Where did this line go?" will appear. | [reply] [d/l] |