======Perl====== * [[http://www.din.or.jp/~ohzaki/perl.htm#JP| perlメモ]] * [[http://d.hatena.ne.jp/perlcodesample/20080101/1204271748|Perl入門〜サンプルコードによるPerl入門〜]] * [[http://mojolicious.org/|mojo]] =====perldoc===== perlのドキュメント perlの組み込み演算子のドキュメントはperlfuncで探す。 $ perldoc perlfunc で全部みれる。\\ -fオプションを使うと検索みたいに使える。 $ perldoc -f chop -mオプションでモジュールのソース表示 $ perldoc -m RPC::XML::Client perlドキュメントをブラウザでみる場合はpodwebserverを使う。 $ sudo -H cpan -i Pod::Webserver #install コマンドで起動する。 $ podwebserver . . . Done scanning @INC You can now open your browser to http://localhost:8020/ みたいにみれるようになる。 ====Firefoxでcpan検索をすばやく==== ブックマーク->ブックマークの管理->右のTreeの好きな保存場所を選択して->管理->新規ブックマーク 名前: search.cpan.org:perldoc \\ URL: http://search.cpan.org/search?module=%s \\ キーワード: perldoc \\ で保存するとURL欄で【perldoc module名】で検索できるようになる。大文字小文字も正しくしないとだめ。 =====perlsh===== perlのシェル cpanからTerm::ReadLine::Gnuをインストールした後 [[http://search.cpan.org/src/HAYASHI/Term-ReadLine-Gnu-1.17a/eg/perlsh|ここ]]からsorceとってきてパスが通ってるところにおく。 perlshで起動 $ perlsh main[1] 2+2 4 設定ファイルは~/.perlshrcに perlsh起動時に中身をevalする =====perl デバック===== * ・Data::Dumper * ・Devel::Peek Data::Dumperはリファレンスの配列やハッシュの中身を見ることができる。\\ Data::Peekはperl変数の管理テーブルが表示される。 REFCNTはそのオブジェクトがリファレンス参照されている数、SVはスカラの値、RVはリファレンスの値みたいに。 $ perlsh main[1]$ $val = [{'abc'=>'def'}] ARRAY(0x18af658) main[2]$ $val2 = \$val REF(0x18af418) main[3]$ use Data::Dumper main[4]$ Data::Dumper::Dumper($val) $VAR1 = [ { 'abc' => 'def' } ]; main[5]$ use Devel::Peek main[6]$ Devel::Peek::Dump($val) SV = RV(0x1819868) at 0x18af418 REFCNT = 2 FLAGS = (ROK) RV = 0x18af658 SV = PVAV(0x18add28) at 0x18af658 REFCNT = 1 FLAGS = () IV = 0 NV = 0 ARRAY = 0x64a0a0 FILL = 0 MAX = 0 ARYLEN = 0x0 FLAGS = (REAL) Elt No. 0 SV = RV(0x1819898) at 0x18af7d8 REFCNT = 1 FLAGS = (ROK) RV = 0x18af730 SV = PVHV(0x1852570) at 0x18af730 REFCNT = 1 FLAGS = (SHAREKEYS) IV = 1 NV = 0 ARRAY = 0x6496f0 (0:7, 1:1) hash quality = 100.0% KEYS = 1 FILL = 1 MAX = 7 RITER = -1 EITER = 0x0 Elt "abc" HASH = 0xed131f5b SV = PV(0x1864264) at 0x18af760 REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x649c50 "def"\0 CUR = 3 LEN = 4