Perlでの括弧を整理してみました。抜けや間違い等がありましたら、ご指摘ください。 Perl本体系 小括弧() - 関数の引数、if文、for文等で、リスト系 中括弧{} - ブロック、ハッシュ、無名ハッシュリファレンス、変数解釈の優先順位変更で、ブロック系 大括弧[] - 配列、無名配列リファレンス、配列系、 正規表現系 小括弧() - グループ化、記憶 中括弧{} - 量指定子(繰り返し) 大括弧[] - 文字クラス
print文で表示する値をカンマ演算子で繋ぐ人とドット演算子で繋ぐ人がいますね。 これ、微妙に違います。以下でテストをしてみました。 テストソース @aaa = (111, 222, 333); @bbb = ("aaa", "bbb", "ddd", "eee"); print @aaa , @bbb , @aaa , "\n"; print @aaa . @bbb , @aaa , "\n"; print @aaa , @bbb . @aaa , "\n"; print @aaa . @bbb . @aaa , "\n"; 実行結果 111222333aaabbbdddeee111222333 34111222333 11122233343 343 よって、カンマ演算子はリストコンテキストで、ドット演算子はスカラーコンテキストで解釈される。 ちなみに、ドット演算子は文字列連結に使用し、
一般的な記述の仕方 print <<"EOH"; ダブルクォーテーションだから変数展開が可能 $aaa EOH 尚、終端文字列指定の仕方に3通りがあり、普通printと比べると。 print <<"EOH"は、print "・・・" と同じ。 print <<EOHは、print "・・・" と同じ。 print <<'EOH'、はprint '・・・' と同じ。 また、print文だけでなくスカラー変数へのヒアドキュメントも可能です。 my $scalar = <<"EOH"; ダブルクォーテーションだから変数展開が可能 $aaa EOH 留意点として、終端文字(EOH)の後ろには改行が必要です。しかし、セミコロンは不要です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く