タグ

ブックマーク / shellcat.hatenadiary.org (1)

  • 閑話。知らなかったor忘れていたTips。 - はぐれギークLv.1

    ■全オブジェクトにメソッド追加 sub UNIVERSAL::foo { print 'foo'; } あくまで「メソッド」。 「関数」ではない。 ■AUTOLOADとDESTROY sub AUTOLOADを定義するときはsub DESTROYがないと勝手に呼ばれちゃうYO! ■変数を「開く」 use IO::Handle; use strict; my $fh = IO::Handle->new(); my $buf = ''; open ($fh, ">", \$buf); $fh->print('foo'); $fh->print('bar'); $fh->close(); print $buf; # foobar in memory fileというらしい。 1引数selectと組み合わせると・・・ ※メモリを大量に消費しそうな気がする

    閑話。知らなかったor忘れていたTips。 - はぐれギークLv.1
    kiyo_hiko
    kiyo_hiko 2011/08/25
    PerlのUNIVERSALクラスにメソッドを定義して、全クラスにメソッドを書く方法とか。 参考: http://blog.starbug1.com/archives/120 UNIVERSALクラスを積極的に拡張したコードはキモいけどおもしろいと思う。
  • 1