Using a tied filehandle is the 'correct' approach as others have pointed out. It's not much work if you use the (more or less undocumented) Tie::StdHandle class in Tie/Handle.pm. Just subclass Tie::StdHandle and then implement the routines you need, probably OPEN and READLINE in your case.
in reply to Re^2: Inheritance and IO
in thread Inheritance and IO