#!/usr/bin/perl use warnings; use strict; use Symbol; use IO::Handle; our $f1; $f1 = gensym; open($f1,"<&STDIN") or die "dup of STDIN failed\n"; tie *$f1, 'TieTest'; print "Read: ",scalar(<$f1>); package TieTest; sub TIEHANDLE { my $class = shift; my $obj = { }; bless $obj, $class; warn "TIEHANDLE: $obj\n"; $obj; } sub READLINE { warn "READLINE\n"; return "line\n"; } #### TIEHANDLE: TieTest=HASH(0x80fcacc) Use of uninitialized value in at tietest.pl line 14. readline() on unopened filehandle at tietest.pl line 14. Use of uninitialized value in print at tietest.pl line 14. Read: