2007年12月3日のブックマーク (3件)

  • Perlでの小括弧・中括弧・大括弧 - 小池啓仁 ヒロヒト応援ブログ By はてな

    Perlでの括弧を整理してみました。抜けや間違い等がありましたら、ご指摘ください。 Perl体系 小括弧() - 関数の引数、if文、for文等で、リスト系 中括弧{} - ブロック、ハッシュ、無名ハッシュリファレンス、変数解釈の優先順位変更で、ブロック系 大括弧[] - 配列、無名配列リファレンス、配列系、 正規表現系 小括弧() - グループ化、記憶 中括弧{} - 量指定子(繰り返し) 大括弧[] - 文字クラス

    Perlでの小括弧・中括弧・大括弧 - 小池啓仁 ヒロヒト応援ブログ By はてな
    simpleboxes
    simpleboxes 2007/12/03
    確かにリファレンスが抜けている。$array = [];や$hash = {};はリファレンスとして機能します。$array[0]のような配列の添え字とはちょっと違う。
  • Perlでのカンマ演算子とドット演算子 - 小池啓仁 ヒロヒト応援ブログ By はてな

    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 よって、カンマ演算子はリストコンテキストで、ドット演算子はスカラーコンテキストで解釈される。 ちなみに、ドット演算子は文字列連結に使用し、

    Perlでのカンマ演算子とドット演算子 - 小池啓仁 ヒロヒト応援ブログ By はてな
    simpleboxes
    simpleboxes 2007/12/03
    「print文で表示する値をカンマ演算子で繋ぐ人とドット演算子で繋ぐ人」カンマ演算子って言うのか?カンマの場合、「繋いで」いるではなく、「リストとして渡している」です。
  • ヒアドキュメントの記述の仕方 - 小池啓仁 ヒロヒト応援ブログ By はてな

    一般的な記述の仕方 print <<"EOH"; ダブルクォーテーションだから変数展開が可能 $aaa EOH 尚、終端文字列指定の仕方に3通りがあり、普通printと比べると。 print <<"EOH"は、print "・・・" と同じ。 print <<EOHは、print "・・・" と同じ。 print <<'EOH'、はprint '・・・' と同じ。 また、print文だけでなくスカラー変数へのヒアドキュメントも可能です。 my $scalar = <<"EOH"; ダブルクォーテーションだから変数展開が可能 $aaa EOH 留意点として、終端文字(EOH)の後ろには改行が必要です。しかし、セミコロンは不要です。

    ヒアドキュメントの記述の仕方 - 小池啓仁 ヒロヒト応援ブログ By はてな
    simpleboxes
    simpleboxes 2007/12/03
    id:kitsさん、「print = <<"EOH";」は動きません。その後で「=」抜きで書いてあるからコピー間違いのような気はします。/最後のところ、セミコロンは要らない。「<<"EOF;";」と書けば、要る。