my($fh, $dupfh); open($fh, "< /etc/motd") || die $!; Then one of more of these should work: open($dupfh, "<&$fh") || die $!; open($dupfh, "<&=$fh") || die $!; open($dupfh, "<$fh") || die $!; --tom