======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