while (<>) {
	if (eof()) {
		print "-" x 30, "\n";
	}
	print;
}

while (<>) {
	print "$.\t$_";
	if (eof) {      # Not eof().
		close(ARGV);
	}
}

while (<>) {
	print if /pattern/..eof;
}
