perl

readに関する勘違い。

read(FileHandle, Scalar, Length, Offset)なわけだけど、 OffsetはFileHandleのオフセットではなくScalarのオフセット。FileHandleのオフセットはseek。 (゚∀゚)初歩だけど1時間悩んだYO!

Imager.pmインストール。

画像を扱うライブラリであるImagerをインストール。メジャーなGDを敢えて外したのはなんとなく。 そりゃもうなんとなく。 インストールしたはいいけどgifに対応しない現象があったので 対処方法をメモっとく。 ln -s /usr/lib/libgif.so.4 /usr/lib/libgif.s…

eachの罠。

3時間ハマった・・・ %hash = ( foo => 'bar', fizz => 'buzz' ); while (($k, $v) = each %hash) { print "$k : $v\n"; if ($k eq 'foo') { last; } } while (($k, $v) = each %hash) { print "$k : $v\n"; } みたいなことをやる。想定する結果は foo : bar…

閑話。知らなかったor忘れていたTips。

■全オブジェクトにメソッド追加 sub UNIVERSAL::foo { print 'foo'; } あくまで「メソッド」。 「関数」ではない。 ■AUTOLOADとDESTROY sub AUTOLOADを定義するときはsub DESTROYがないと勝手に呼ばれちゃうYO! ■変数を「開く」 use IO::Handle; use strict;…

俺による俺のためのオブジェクト指向講座。その6

筋肉痛に襲われて第六回。 PerlOOPのセオリーシリーズ アクセサ・ミューテータ PerlOOPでは生成したインスタンスはblessしたリファレンスそのものとしても扱えるので、 package MyApp; sub new { my $pkg = shift; return bless { foo => 'bar', }, $pkg; } …

俺による俺のためのオブジェクト指向講座。その5

真夏のピッチングでヘバりながらも第五回。 「関数呼び出し」と「メソッド呼び出し」 Perlは厳格なOO言語ではないので、定義したサブルーチンは関数でありメソッドであるという状態になる。関数とメソッドの違いは、「クラスに属しているか」の1点に集約され…

俺による俺のためのオブジェクト指向講座。その2

というわけで第二回。 オブジェクト指向な設計の考え方について。 プログラム上の「モノ」とは 「オブジェクト=何かしらのモノ」ということを前回は書いた。 まぁ現実世界ではモノといえばデスクの上に置いてあるフィギュアとかフィギュアとかフィギュアと…

俺による俺のためのオブジェクト指向講座。その1

せっかくの備忘録なので知識の整理を兼ねて自分のためのPerl講座を書いてみる。 いつか自分以外の人の役に立てればそれもまた嬉し。 オブジェクト指向 オブジェクト指向プログラミング(以下OOP)とは、「データ」(あるピクセルの色やファイルのサイズなど…

Perlオブジェクトのヌヌメ。

とりあえずオブジェクト指向が分からない人はコチラ (゚∀゚) オブジェクト指向に厳格でないPerlとはいえ、オブジェクト指向の恩恵を受けられないわけではない。 いわゆる package Test; sub new{ bless {}, shift; } 的なアレ。 要するにblessをしろと。手続き…

IDEいろいろ試してみた。

前にEPIC使ってみるとか書いたけれど。 正直使いにくかった。全体的にEclipseはプロジェクト単位での開発を想定してるんじゃないかと思う。 自分用のライブラリを作ったりなんだりっていうときにはいろいろ難儀する。 ウィザードが充実しすぎてるのも考えも…

新旧ソケットプログラミング。

Perlでのソケットプログラミングといえば use Socket; が決まり文句だと思っていたら、最近はそうでもないらしい。というわけで、selectを使うタイプのTCPサーバを記述する方法がどう変化したのかを調べてみた。 SocketからIO::Socketへ まずは肝心のソケッ…

本日のヒット商品。

featureプラグマ。 http://perldoc.jp/docs/modules/feature-1.11/feature.pod 以下引用 IMPLICIT LOADING (暗黙の読み込み) feature プラグマを暗黙に読み込むには二つの方法があります: コマンドラインで -e オプションの代わりに -E オプションを使います…

オラわくわくしてきただ。

EPIC - Eclipse Perl Integration http://e-p-i-c.sourceforge.net/main.html EclipseのPerl開発用プラグイン。今までPerlはエディタ単体でセコセコやってたけど、久しぶりに本気Perlできそうな状態になってきたのでIDEを探してみた。いろいろヒットしたけどVBラ…