iidaの日記: 2行以上のPerlスクリプトを 2
日記 by
iida
プログラマ人生25年、ついに2行以上のPerlスクリプトを書くはめになった。 長い行をプリントするのに
print "foo\
bar\
baz";
のように書くと、途中で改行されてしまうことに気づき、
print "foo".\
"bar".\
"baz";
などと書いたら、ソースの2行目以降が壊れてプリントされてしまう。
正解はこうだ。
print "foo".
"bar".
"baz";
数時間悩んだ。昔からPerlの構文は苦手だったが、「参照」なんて物が増えて以降、Perlは構文にますます磨きがかかったと言えよう。
- - - - -
「Perlベストプラクティス」という本によると
- 3行以上ならヒア・ドキュメントを使う
print "foo"
."bar"
."baz";のように、演算子の前で改行する
のがお勧めらしい (PS 2010-12-28)。
えええ (スコア:1)
この話は参照とはまったく関係ないような気が……。Perlの構文が複雑なのは同意ですが。
Perlでは改行はスペースやタブと同じ扱いなので、バックスラッシュでエスケープしようとするのは無意味ですね。
Re:えええ (スコア:2)
みたいに出力されたんですが、これが参照ではないのですかね?
iida