#XXX Doesn't handle empty @ARGV sub fill_argv { if (!eof(ARGV)) { return 1; } while (@ARGV) { $ARGV = shift(@ARGV); if (!open(ARGV, '<', $ARGV)) { warn("Can't open $ARGV: $!"); next; } if (!unlink($ARGV)) { warn("Can't remove $ARGV: $!, skipping file.\n"); next; } if (!open(ARGVOUT, '>', $ARGV)) { warn(???); next; } select(ARGVOUT); return 1; } $ARGV = undef; close(ARGVOUT); select(STDOUT); return 1; }