個人的にPerlに惹かれるところってwhile (<>)
を使ってフィルタプログラムを簡単に書けるところだと思うんですよね。
#!/usr/bin/perl
while (<>) {
y/a-z/A-Z/;
print;
}
これだけで小文字を大文字にするフィルタプログラムが完成。引数で何個でもファイルが指定できるし、無引数なら標準入力から読み込むような挙動になります。
$ echo hoge | ./toupper.pl
HOGE
$ ./toupper.pl hoge.txt hoge2.txt
HOGE
HOGE2
$
実は、fileinputモジュールを使えばPythonでも同じことができます。
#!/usr/bin/python
import fileinput
for line in fileinput.input():
sys.stdout.write(line.upper())
ファイル名として「-」を指定すると標準入力の意味になるところまで一緒です。