diff --git a/p b/p index 6ce6fb3..71826ad 100755 --- a/p +++ b/p @@ -27,19 +27,21 @@ sub printfile { print; &evalcmd unless ++$lines % $pagesize; } - &evalcmd; } unshift(@ARGV, '-') unless @ARGV; +my $n = $#ARGV; for (@ARGV) { if (/^-$/) { &printfile(\*STDIN); + &evalcmd if $n--; } elsif (/^-(\d+)$/) { $pagesize = $1; } else { open(my $fh, '<', $_) or die "$0: Cannot open $_ for reading: $!"; &printfile($fh); + &evalcmd if $n--; close($fh); } }