use overload '<>' => sub { my $io = *{$_[0]}{IO} || $_[0]; <$io>; };