perlで標準入力のコードを実行するときに引数を取る
$ echo 'print $ARGV[0]' | perl hoge Can't open perl script "hoge": No such file or directory
って感じでエラーになるので
$ echo 'print $ARGV[0]' | perl - hoge hoge
こうするといいらしい。
ここに書いてあった。
標準入力から暗黙に渡される。 ファイル名を示す引数が無い場合にのみうまくいきます。 STDIN から読み込むプログラムに引数を渡すには、 プログラム名として明示的に "-" を指定しなくてはなりません、
http://perldoc.jp/docs/perl/5.10.0/perlrun.pod