という配列に対し, $#arrayを参照することでこの配列の最後の要素番号(karepanの要素番号)を参照することが出来る. つまり,この場合,要素数「2」が取得できる.(要素数は0からカウントされるから) ということは, $#array+1 で知りたい情報となる. 配列自体をスカラー変数に代入
元ネタ Google先生に尋ねたところ2010年のadvent calendarで モジュールのバージョンを確認するときどうやってますか? にイロイロ紹介されていましたので、いくつか自分で試してみました。 VERSION変数をprintする $ perl -MDBI -le 'print $DBI::VERSION' 1.625 もっともシンプルな方法でしょうか。 pmversを使う # pmvers DBI 1.625 cpanm pmversでインストールするとpmtoolsというコマンド集のようなものが入ります。 pmversコマンド以外にも例えばpmallと打つとすべてのインストール済みモジュールがバージョンと共に表示されます。 巨大なバージョン番号でuseして意図的にエラーを表示させて確認する # perl -e 'use DBI 9999' DBI version 9999 r
変数の展開の展開 +αでは、埋め込んだ関数を展開して評価する方法を書いたが、あんな面倒な事をやらなくてもPerl本来の機能で簡単にできたらしい。 ダブルクオート(qq)内から関数を呼び出す 簡単な例を下に示す。 #!/usr/local/bin/perl print qq|5*2は@{[a(5)]です}\n|; sub a{ return $_[0]*2; } 答えは10と表示される。同様に、ヒアドキュメントでも有効だ。 ヒアドキュメントから関数を呼ぶ #!/usr/local/bin/perl print << "_EOM_"; 5*2は@{[a(5)]}です。 _EOM_ sub a{ return $_[0]*2; } いやぁ、今までPHPみたくヒアドキュメント風に書きつつ関数を展開することができないと思いこんでいたため、 ソースの上の方で関数の処理を束ね、それを一時変数に入れて、下
名前¶ Devel::Size - Perl変数のメモリ使用量を調べる 概要¶ use Devel::Size qw(size total_size); my $size = size("A string"); my @foo = (1, 2, 3, 4, 5); my $other_size = size(\@foo); my $foo = {a => [1, 2, 3], b => {a => [1, 3, 4]} }; my $total_size = total_size($foo); 説明¶ This module figures out the real sizes of Perl variables in bytes. Call functions with a reference to the variable you want the size of. If the va
xbuildに付属するCartonでインストールしたStarmanをSupervisorで起動しようとしてハマった。 まずは以下の設定で実施 /etc/supervisord.conf [program:starman] command=/home/ユーザ名/xbuild/local/perl-5.18.2/bin/carton exec starman ...省略 # supervisorctl status starman FATAL Exited too quickly (process log may have details) 動かない。 試しにcommandを直接打つと以下のエラーが出る。 # /home/ユーザ名/xbuild/local/perl-5.18.2/bin/carton exec starman Can't locate cpanfile: (cpanfile)
[2013-07-17-1] のOSX(Mountain Lion)版です。こっちはめっちゃ簡単。 brewでplenvとperl-buildをインストール % brew install plenv % brew install perl-build あとはUbuntuと同じようにperl+cpanm+cartonをインストール % plenv install 5.18.0 -Dusethreads % plenv global 5.18.0 && plenv rehash && rehash % plenv install-cpanm % plenv exec cpanm Carton P.S. 入れたは良いけど、OSXでPerl使わないなーと思ってたら、chalow(このブ ログを生成するツール)で使ってた。てか、HTML::Templateがなくて chalowを実行出来なくなってい
About Perlのソースコードを統一したルールで整形してくれる。 チームでコーディングするとき、特に有用。 CPAN Perltidy How to install. $ cpanm Perl::Tidy which perltidyでInstall成功を確認 Setting $HOME/.perltidyrcに以下のように書く(Perl best practicesより) -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 cols -ci=4 # Continuation indent is 4 cols #-st # Output to STDOUT -se # Errors to STDERR -vt=2 # Maximal vertical tightness -cti=0 # No extra indenta
ハッシュとは、連想配列とも呼ばれ、「キー」と「値」を1組のペアとして関連付けされた配列です。 ただし、配列自体は順序付けされていないところに特徴があります。 ハッシュの変数のことを、ハッシュ変数といい、% (パーセント) + 英字1文字から始まり、それ以降は数字、英字およびアンダースコア ( _ ) を用いることができます。また大文字と小文字が区別されますので、たとえば %a と %A は別物として扱われます。
LL でデバッグと言えばデバッガではなく print デバッグ、という人は多いと思います。ぼくはもっぱら print デバッグです。 いまこのタイミングでこのオブジェクトはどんな値を持っているんだろう、というときは、Perl だったらもっぱら Data::Dumper を使って、 sub p { print Dumper @_ } p $object; なんてのを良く書いてたんですけど、$object がクソみたいにデカいモジュールのオブジェクトだったりすると、ターミナルが溢れて(ぼくが)死んだりしてました。DateTime とか HTTP::Request あたりとか大変ですね。 で、ちょっと Data::Printer 良いよって声を聞いたので試してみたのでした。Class::MOP 依存だがな!!! 基本的な使い方 Data::Printer を use すると、p っていう関数がデ
Perl Advent Calendar 2014の7日目の記事です. 宜しくお願いします. さて, 昨日の記事は@FromAtomさんの「Perlのprintデバッグをシュッと見やすくする」でした. printデバッグはデバッグの中でも基礎中の基礎, とりあえず詰まったらprintデバッグで試してみる... という方は結構多いのではないでしょうか. 昨日の記事ではData::Dumperを紹介されていましたが, デバッグに役立つダンプ用のモジュールは他にもあります. 今日はその中の1つ, Data::Printerを紹介したいと思います. Data::Printerのインストール cpanmコマンドが使えれば簡単です. $ cpanm Data::Printer ここがData::Dumperと比べた時のData::Printerの弱点です. つまり「便利だけど, コアモジュールじゃない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く