Perl

型グロブ

型グロブはある名前を持つ変数をすべて持っているような特殊な型だ。*symという風に識別子に*をつけると得ることができる。*はワイルドカードの意味として使われてて、そこにはどんな記号でもはいるってことか。型グロブをハッシュのように扱うと、各型のリ…

シンボルテーブルから型グロブを得る

myだとかourだとか言ってるうちに気になったので、ラクダ本を眺めつつパッケージのシンボルテーブルについて調べてみた。パッケージ変数はパッケージ名に::をつけたハッシュ(= シンボルテーブル)に属している。そのハッシュのキーは識別子で、そのキーに対応…

変数のリファレンスカウント

あぁ,なんかやっとスッキリした。見落としていたのはリファレンスカウントだった。すぐに反応がもらえてありがたい限りです>id:seamlessbiasさん。 これを見るとわかるけど、リファレンスカウント(REFCNT)が2になってる。$nameという名前と、&foo::get_na…

myとourがよくわからん

パッケージのトップレベルで宣言されてる変数のmyとourの扱いがよくわからん。 ourで宣言された変数は永続的に存在している myで宣言されて変数はあるスコープ内でのみ存在している と思っていたのだけど、どうやらmyの扱いはこのかぎりではないみたい?ため…

続・myとourがよくわからん

myとourというか、どうやらPerlのスコープまだよくわかってなかったみたい。 myで宣言した変数はパッケージじゃなくてスコープに対して所属しているから、シンボルテーブルを覗いて見つかったら逆に問題なんじゃないだろうか。で、一番外側にあるスコープは…

PerlでSOAPを試す

授業でSOAPの課題が出た.授業用のSOAPサーバのnameというメソッドに自分の名前を渡して結果を確認するというもの.サンプルコードはJavaで何行にも渡ってつらつらと書かれていたのだけれど,それPerlだと2行でできるよ. use SOAP::Lite; print SOAP::Lite-…

Catalyst Advent Calendarよみはじめた

4日ほど遅れつつもCatalyst Advent Calendarを追いかけはじめてみる。一日めだけ読んでみたんだけど、Catalyst自体の内容以外のバージョン管理やパッチあての具体的なコマンドまで言及している感じで、なかなかおもしろかった。でも、なんか、一日めの記事の…

XPath

id:omochistがもち - XPathでXPathのコードを書いてるのを見て、似たようなXPathを用いたノードの検索をPerlでやってみた。まぁ、うちも同じ授業うけてるわけなんだけど。 #!/usr/bin/env perl use warnings; use strict; use XML::XPath; use XML::XPath::X…