2008-11-19から1日間の記事一覧
さっぱりわからん。奇っ怪すぎるよ。
sub import { my ($package) = (caller(1))[3] =~ /^(.*::)/; no strict 'refs'; warn Dumper \%$package; import() は BEGIN ブロックで処理され、 BEGIN ブロックを処理してるときはまだ呼び出しもとパッケージのシンボルテーブルの情報は空っぽだった。 u…
パッケージ名のおしりに :: がくっついた名前のハッシュ、 %Foo::Bar::Baz:: があるパッケージのシンボルテーブル。見ての通りハッシュなのでふつうに warn Dumper \%Foo::Bar::Baz::; とかできるしループで要素をぐるぐるまわすこともできる。 %Foo::Bar::B…
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…
O/R マッパを使わない、バッチ集計用の SQL は少し長く複雑になりがちなので、 mysql コマンドラインツールから発行するよりテキストファイルに書いて source コマンドで読み込ませたほうが良い。http://dev.mysql.com/doc/refman/5.1/ja/batch-commands.htm…