#!/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"; }