sub rdw_open(*$;@) # need a file handle and a name, but allow more for the 3 arg open... { my $fh = shift; if (not ref($fh) eq 'GLOB') { $fh = "*" . (caller())[0] . "::" . $fh; } { no strict; tie *{$fh}, __PACKAGE__, @_ ; } }