@kyanny's blog

My thoughts, my life. Views/opinions are my own.

2008-11-19から1日間の記事一覧

GETOPT(1)

さっぱりわからん。奇っ怪すぎるよ。

Foo パッケージの中で use した Bar パッケージの import() メソッドから Foo パッケージのシンボルテーブルをのぞくとどうなるか

sub import { my ($package) = (caller(1))[3] =~ /^(.*::)/; no strict 'refs'; warn Dumper \%$package; import() は BEGIN ブロックで処理され、 BEGIN ブロックを処理してるときはまだ呼び出しもとパッケージのシンボルテーブルの情報は空っぽだった。 u…

Perl のシンボルテーブル

パッケージ名のおしりに :: がくっついた名前のハッシュ、 %Foo::Bar::Baz:: があるパッケージのシンボルテーブル。見ての通りハッシュなのでふつうに warn Dumper \%Foo::Bar::Baz::; とかできるしループで要素をぐるぐるまわすこともできる。 %Foo::Bar::B…

no strict 'refs';

no strict 'refs'; my $foo = 100; our $bar = 200; my $ref = \$foo; warn $$ref; # => 100 $ref = 'foo'; warn $$ref; # => Warning: something's wrong $ref = 'bar'; warn $$ref; # => 200 my で宣言した変数は no strict 'refs'; のもとで $$ref を $fo…

MySQL の source コマンドで SQL プログラミングの開発効率をアップさせる

O/R マッパを使わない、バッチ集計用の SQL は少し長く複雑になりがちなので、 mysql コマンドラインツールから発行するよりテキストファイルに書いて source コマンドで読み込ませたほうが良い。http://dev.mysql.com/doc/refman/5.1/ja/batch-commands.htm…