タグ

ブックマーク / blog.livedoor.jp/xaicron (10)

  • にひりずむ::しんぷる - Data::Dumper と Data::Dump の実行速度の違い

    Data::Dump はデフォルトでそれなりに整形して表示してくれるのと、コンテキストを見てよしなに処理を変えてくれるので、スクリプトのデバッグなどに使うのはまぁまぁ便利だったりします。 が、この子は PurePerl で実装されているので実行速度が結構遅いです。 どのくらい遅いかというと use strict; use warnings; use Benchmark qw(cmpthese :hireswallclock); use Data::Dump (); use Data::Dumper (); my $data = { foo => [qw/bar/], bar => { hoge => 'piyo', }, heavy => So::Heavy::Object->new(10), }; cmpthese -1, { 'Data::Dump' => sub { my $res

    Yuichirou
    Yuichirou 2012/02/11
    note explain {expr} 構文
  • にひりずむ::しんぷる - Makefile.PL で必要なモジュールは configure_requires に書くべし

    Module::Install を使用している場合、Makefile.PL 時点で必要なモジュールは、build_requires ではなく、configure_requires*1 に指定するべき。 build_requires と configure_requires の違いは以下のような感じ。 build_requires つまり、Makefile.PL 自体で必要なモジュールは configure_requires に指定する必要があるということ。 configure_requires に指定したモジュールは META.yml の configure_requires に記載されるので、cpan や cpanm などのインストーラーが Makefile.PL を実行する前にこれを見つけてインストールしてくれます。 一応、Module::Install にも、EUMM にもよく見ると

    Yuichirou
    Yuichirou 2011/09/27
  • にひりずむ::しんぷる - IO::Prompt::Simple 書いた

    リリースしました にひりずむ::しんぷる - IO::Prompt::Simple 0.01 リリース あらすじ xaicron:> ExtUtils::MakeMaker はロードに1秒ぐらいかかるから遅延ロードにしたた。prompt 使いたいだけなんだけど。IO::Prompt はなんかごついし、今後はコピペでいい気がしてきた。 tokuhir○m:> @xaicron IO::Prompt::Simpleの予感 xaicron:> @t○kuhirom srd! というわけで適当にでっち上げた。 xaicron/p5-IO-Prompt-Simple - GitHub的には ExUtils::MakeMaker の prompt() と同じだけど、第三引数で指定した文字じゃないとダメとか、この正規表現にマッチしたやつじゃないとだめとかを設定できる感じ。 あとは、terminal

    Yuichirou
    Yuichirou 2011/09/20
    こりゃいいね
  • にひりずむ::しんぷる - 初めての Furl

    巷でとっても速くて便利だねこれってなってる HTTP Client であるところの Furl の簡単なつかい方を紹介します。 そもそも Furl は何かっていうと、perl には LWP っていう超高機能な HTTP Client があって、これがデファクトになってるんですね。 でも、それって結構昔からあって、かつ重厚長大なモジュール群なので結構遅いわけです。とくに CPU 使用率が高い。 そんなわけで、libcurl ぐらい速くて軽い HTTP Client があるといいよねってことで開発されたのが Furl です。 読み方は ふぁーる。 use strict; use warnings; use 5.0100; use Furl; my $furl = Furl->new(agent => 'Madoka-Magica/chu-2'); my $res = $furl->get('ht

    Yuichirou
    Yuichirou 2011/02/06
    参考になる。UserAgent以外は
  • にひりずむ::しんぷる - return で返る複数の値は 配列ではない

    return で複数の値を返す場合、配列ではなく、リストとして返る。スカラコンテキストで評価した場合、最後の値が返って来るので注意が必要である。 あんまり正確じゃなかったので>< 16:01 (miyagawa) ( ... ) とか qw( ... ) ってのは「リスト」 16:02 (miyagawa) それを @foo て変数にいれると配列になる 16:02 (miyagawa) my $x = qw( a b c ); 16:03 (miyagawa) http://perldoc.perl.org/perldata.html#List-value-constructors 16:04 (tokuhirom) scalar(qw/a b c/) と scalar(@x=qw/a b c/) のちがいかな というわけで $ perl -E '$x = qw(a b c); say $

    Yuichirou
    Yuichirou 2010/11/18
    array(あるいは hash)となる前の段階として list という別の状態があるのか……
  • にひりずむ::しんぷる - Yokohama.pm#6 x Perl Casual#3 で LT してきた

    ビデオ・オン・デマンドは(VODは略す)制御のための聴衆を容易にしたり、独自の選択とプログラムビデオクリップを決定インタラクティブTVシステムです。顧客が望むプログラムや、時計が表示されたときに決定することができるようにビデオレンタルなどのVOD使いやすさ、。選択科目は、映画のタイトル、テレビシリーズの可能なシリーズは、事実、ビデオストリーミングだけでなく、他のプログラムを示しています。ちょうどその観客は自由にプログラムを格納し、ダウンロードすることができ、見ていません。観客を見てのために既にダウンロードされているビデオのセットトップボックスを活用する、またはPC、携帯電話などを開いて、オーディオとビジュアルコンテンツを有効に電子通信機器の使用を行うことが可能です。いくつかは、支払・パー・ビューペイ・パー・ビューの様々なVODサービスを提供しています。

    Yuichirou
    Yuichirou 2010/07/25
  • にひりずむ::しんぷる - .tpagerc が何気に便利

    TT をインストールすると、tpage というコマンドラインツールが付いてきます。こいつを使うと、コマンドから template を扱うことができて、あら便利ですね。 モジュールの雛形とかは下記のような感じで、 $ cat hoge.tt package [% module %]; use stict; use warnings; use 5.008001; our $VERSION = '0.01'; 1; __END__ =head1 NAME [% module %] - =head1 SYNOPSIS use [% module %]; =head1 DESCRIPTION [% module %] is =head1 AUTHOR [% author %] E<lt>[% email %]E<gt> =head1 SEE ALSO =head1 LICENSE This libr

    Yuichirou
    Yuichirou 2010/07/20
  • にひりずむ::しんぷる - モジュールの version を表示する シェル関数書いた

    たまに、今使ってるモジュールのバージョンが知りたいときってあると思いますが、みなさんどうやってるんでしょ? $ perl -MCGI -E 'say $CGI::VERSION' 3.49 みたいなことをターミナルでやってましたが、タイプ数が多くて、いい加減めんどくさくなってきたので、書き慣れてないシェル関数を書いてみたよ! これを、.bashrc なり .zshrc なりに書いておけば $ pm-version CGI HOGE CGI : 3.49 HOGE not found みたいになってまぁそこそこ便利かもしれない ブクマコメでご意見いただきました!ありがとうございます>< vkgtaro perl -MCGI\ 9999 とか。あとは古いけど、pmtools の pmvers とか。http://d.hatena.ne.jp/naoya/20060114/1137217478

    Yuichirou
    Yuichirou 2010/04/06
  • にひりずむ::しんぷる - yokohama.pm #5 で、cpanm について話してきました

    yokoahama.pm はYAPC2009前夜祭が初参加だったので、今回が2回目の参加になりました。 トップバッターだったのですが、電車が止まったり、道に迷ったりして、たどり着ける気が全くしなかったのですが、なんとかGPSを駆使して発表までには間に合いました。 今回は、Modern Commandline Tools と題して、昨今のコマンドラインツールについて話そうとおもってたんですが、なんか、いろいろと時間がなかったので、cpanm についてだけ話しました。 Demo が動かなかったのは、僕が exeport PERL_CPANM_DEV=1 していなかっただけなので、cpanm 悪くないよ!って言うことだけ言っておきます。

    Yuichirou
    Yuichirou 2010/03/07
  • にひりずむ::しんぷる - Perl Casual Talks#1でLTしました

    11月20日に開催された、Perl Casual Talksで5分間のLTをしてきました。 今まで、こういうイベントでは常に聴き手だったので、話をするのはとても新鮮でした。 しかしながら、話すのが初めてということもあり、緊張してうまく舌が回らず、テンパって何をしゃべっているのかわけわかんない状態に陥っていたので、聞いている方はなかなか苦しかったんじゃないかとおもいます。 スライド作りすぎたというのもあるんですが、それでも要点だけ話せばよかったなーと反省しきりです。 今後、なにかで話す機会があれば今回の反省を踏まえてやれればいいなと思います。 ということで下記がスライドになります。 (フォーカスして、キーボードの→で進み、←で戻ります。↑を押すと一覧で↓でスライドに戻ります。) スライドはamachangさんのs6を使わせていただきました。 リポジトリは→xaicron's p5-win32

    Yuichirou
    Yuichirou 2009/11/23
  • 1