in reply to Re^2: Using null filehandle
in thread Using null filehandle

Sometimes "hanging at the console" is really "trying to read from standard input". Since the primary difference between the code you have above (assuming you meant open IN "<$myfile") is that <> will read from multiple files, it's possible that @ARGV contains more than you expect. In particular a single - character, it will try to read from standard input.

You can print out @ARGV to see what files are being opened, or you can test eof on ARGV to tell when one file has closed and the next has opened (see the documentation for eof for an example).

And still, it seems that turning off buffering should have fixed the problem. What code did you use to do that? $|=1 wouldn't work, because that only affects buffering for the currently selected filehandle (generally STDOUT).