Perl 写経メモ
Carp...
warn,dieの代わりに使う
warn ->carp
die->croak
呼び出し元の情報もでる
http://blog.livedoor.jp/dankogai/archives/51073468.html
use packagename LIST
パッケージでインポートしたいものをリストで渡す
http://itpro.nikkeibp.co.jp/article/Reference/20080930/315792/
ちなみにその
LISTはexport_ok変数に格納されているもの照合。
export変数はデフォルトでロードされるやつ。
http://www.ksknet.net/perl/exportexport_ok.html
perldoc入れる
sudo apt-get install perl-doc
perldoc Exporter
ただの昨日の集まりだったらこうやってexport_okかexportにいれてやるといいみたい。
オブジェクト指向だったらしないほうがよい。
呼び出しには正規表現も使える。
exporter書いとかないと不要なものが呼び出されちゃう結果になったり
それを裂けるためかな
不要なものコンパイルしないとかそんなんとおもったけどそうじゃなさそうだ
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6128/perl/evalue.html
perlの特殊変数一覧
undef 変数名
変数をundefにする
caller
0を指定すると自分自身の関数名
1を指定すると呼び出し元の関数名を取得することができる。
@ISAはuse baseと似た感じ。
どこを継承するか?is a的な
グローバル変数はmyなしで。
でも use strict使うとmyは必須・・・
そのときはourをつける。
http://d.hatena.ne.jp/chaichanPaPa/20070814/1187053637
結合性がある、どちらを評価するか
||や&&は左、=は右とか
変数名に{}中括弧をつけることで、どこまでが変数名なのかをはっきりとさせる。
http://www.perlplus.jp/perl/var/index9.html
$1とかはマッチしたやつ
wantarray
http://www2u.biglobe.ne.jp/MAS/perl/ref/wantarray.html
配列を求めているなら真、そうでなければ偽
evalを使ってブロックを形成し、その中で例外がおきると、
補足され、$@に値が入る
ほかにも、evalは引数で与えた文字列をperlでコンパイルして実行させることもできる。
http://www.geocities.jp/ky_webid/perl5/040.html
UNIVERSALはすべてのblessされたクラスの基底クラス
isaとcanがある
isaは特定のクラスかどうかを判定、canはオブジェクトに対してメソッドを呼び出せるかどうか
http://fireball.loafer.jp/kes/perl/article_137.html
AUTOLOADを定義しておくと、
関数がなかったときに呼び出される。