. perlrun.
-i, perl ARGVOUT STDOUT. , , <> <ARGV> readline(ARGV) , ARGVOUT .
<> ( ), perl ARGVOUT STDOUT . , perlrun
s/foo/bar/;
$extension = '.orig';
LINE: while (<>) {
if ($ARGV ne $oldargv) {
if ($extension !~ /\*/) {
$backup = $ARGV . $extension;
}
else {
($backup = $extension) =~ s/\*/$ARGV/g;
}
rename($ARGV, $backup);
open(ARGVOUT, ">$ARGV");
select(ARGVOUT);
$oldargv = $ARGV;
}
s/foo/bar/;
}
continue {
print;
}
select(STDOUT);
my @file = <> , Perl STDOUT.
, , <> eof(ARGV) . eof(ARGV)=1, , , <>:
my @file = ();
while (<>) {
push @file, $_;
if (eof(ARGV)) {
@processed_file = &do_something_with(@file);
print @processed_file;
@file = ();
}
}