[[PageOutline]] [[TitleIndex(Dev/Perl,format=group)]] * [http://blog.cles.jp/item/3065 XML-RPCを使ってTracのチケットに添付ファイルを投げ込む(Perl編)] * [http://www.tt.rim.or.jp/~canada/comp/cgi/tech/mailaddrmatch/ メールアドレスに一致する正規表現] > {{{ > # $mailre = '^[\x01-\x7F]+@(([-a-z0-9]+\.)*[a-z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])'; > }}} > という正規表現を提案します。正確なアドレスを弾かずに、「なるべく」おかしなアドレスを弾く正規表現です。 * see also [http://www.din.or.jp/~ohzaki/mail_regex.htm メールアドレスの正規表現] = perlbrew = * [http://d.karashi.org/20100516.html#p02 perlbrew + cpanminus でつくる Perl 環境が最強すぎる - ぽっぺん日記@karashi.org(2010-05-16)] * [http://webtech-walker.com/archive/2010/04/22173415.html perlbrew + cpanminus + local::lib で環境構築 - Webtech Walker] * [http://zunermuka.blogspot.com/2010/04/python-ruby-perl.html Gamburtsev: python ruby perl で複数のバージョンを使い分ける] = CPAN = * cpan:Sub::Signatures * Use proper signatures for subroutines, including dispatching. * [http://d.hatena.ne.jp/sfujiwara/20100517/1274081705 新しいPerlに今まで使ってたモジュールをまとめてインストールする - 酒日記 はてな支店] * [http://www.dagolden.com/index.php/1173/what-tools-should-you-use-to-create-a-cpan-distribution/ What tools should you use to create a CPAN distribution? | dagolden] = cpanminus = * [http://blog.nobjas.net/2010/03/perl-cpanminus-%E3%81%A8-cpan-outdated-%E3%81%A7%E3%83%8F%E3%83%83%E3%83%94%E3%83%BCcpan%E3%83%A9%E3%82%A4%E3%83%95/ (perl) cpanminus と cpan-outdated でハッピーCPANライフ] * [http://artifactsauce.blogspot.jp/2010/10/cpanmmac-os-x.html ArtifactSauce: cpanmをMac OS Xにインストールする] = misc = * [http://blog.livedoor.jp/dankogai/archives/51026593.html 404 Blog Not Found:perl - ワンライナーの書き方入門] * -MO=Deparseでスクリプト化 * cpan:B::Deparse - Perl compiler backend to produce perl code * [http://perl-users.jp/articles/advent-calendar/2010/ JPerl Advent Calendar 2010] > 今年も JPerl Advent Calendar の季節がやってきました。 > Perl に関連する tips を25本おとどけしちゃいます。 > 12月1日から毎日一本ずつ tips をアップしていっちゃうという企画です。 > くわしくは[http://d.hatena.ne.jp/tokuhirom/20081216/1229387324 このあたり]をみてください。 * [http://togetter.com/li/77225 Togetter - 「Shibuya Perl Mongersテクニカルトーク#15」] * twitter:takesako/status/12917008421101568 * source:lab/trunk/Commentary/shibuya.pm * [http://shibuya.pm.org/blosxom/techtalks/201012.html Shibuya Perl Mongers : Shibuya Perl Mongersテクニカルトーク#15] * [http://live.streamingmedia.jp/shibuyapm15/ Shibuya Perl Mongersテクニカルトーク#15 @ IIJ] * [http://www.slideshare.net/spiritloose/write-good-parser-in-perl Write good parser in perl] * [http://d.hatena.ne.jp/dayflower/20080605/1212652674 ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower] * ファイルハンドルをネタに、IO:Handleから型グロブまで説明。特に型グロブの図示が分かりやすい。 * https://twitter.com/__gfx__/status/16308724930973696 > Perlはデフォでどんなシグナルもトラップしないらしい。つまり、SIGINT発行するとENDとかDESTROYは呼ばれない。RubyはSIGINTをトラップするので、デフォルトでENDは呼ばれる。 * https://twitter.com/__gfx__/status/16314985630146560 > PerlでDESTROYが誤って二回呼ばれてしまうコード例(by kazuho) https://gist.github.com/747040 * cpan:Image::ExifTool * see [./exiftool] for example * [http://www2.sakakazu.jp/blog/index.php?itemid=240 オレBlog » Exif Orientationタグによる補正方法] * [http://blog.dtpwiki.jp/dtp/2009/05/aiperl-7144.html M.C.P.C.: AIファイルからPerlでサムネールを取り出す] > もっとも、Image::ExifTool入れちゃえば、コマンドラインツールが入るので {{{ $ exiftool -b -ThumbnailImage test.ai > thumbnail.jpg }}} > でできちゃうわけですけれども! * [http://yusukebe.com/tech/archives/20070803/124356.html Perlでニコニコ動画のflvとコメントxmlをダウンロードする (Yusukebe::Tech)] * cpan:Web::Scraper * [http://www.slideshare.net/miyagawa/web-scraper-shibuyapm-tech-talk-8 Web Scraper Shibuya.pm tech talk #8] * [http://e8y.net/mag/013-web-scraper/ use Web::Scraper; - 今日のCPANモジュール] * [http://blog.livedoor.jp/kjugk/archives/808785.html 駱駝の背中に乗って行こう : Perlでスクレイピング(Web::Scraperモジュール)] * Web::Scraperの平易な導入 * [http://d.hatena.ne.jp/hetappi/20070830/1188491543 scraper CLI で遊ぶ - へたっぴ日記] * scraper コマンドの使い方 * 非常に有用 * install on Ubuntu 10.04 1. sudo aptitude install -R libhtml-treebuilder-xpath-perl libxml-xpathengine-perl libhtml-selector-xpath-perl libuniversal-require-perl libyaml-perl 1. sudo cpan HTML::TreeBuilder::LibXML 1. sudo cpan Web::Scraper * cpan:threads * [http://www.perlmonks.org/?node_id=615459 perl multithreading] * [http://www.devx.com/webdev/Article/21909 Create a LAMP Search Engine Using Multithreaded Perl] * [http://oreilly.com/pub/h/943 Adding Progress Bars to Your Scripts] * htmltree => cpan:HTML::TreeBuilder {{{#!perl #!/usr/bin/perl # Time-stamp: "2000-10-02 14:48:15 MDT" # # Parse the given HTML file(s) and dump the parse tree # Usage: # htmltree -D3 -w file1 file2 file3 # -D[number] sets HTML::TreeBuilder::Debug to that figure. # -w turns on $tree->warn(1) for the new tree (snip) }}} * CPAN:Perl::Critic > Critique Perl source code for best-practices. * [http://www.perlmonks.org/?node_id=718414 maximum value of a scalar] * [http://perldoc.jp/docs/perl/5.10.0/perlnumber.pod perlnumber - Perl での数値と数値操作の意味論 【perldoc.jp】] * CPAN:Parallel::ForkManager > === SYNOPSIS === > {{{#!perl > use Parallel::ForkManager; > > $pm = new Parallel::ForkManager($MAX_PROCESSES); > > foreach $data (@all_data) { > # Forks and returns the pid for the child: > my $pid = $pm->start and next; > > ... do some work with $data in the child process ... > > $pm->finish; # Terminates the child process > } > }}} * CPAN:Convert::Bencode > No error detection of bencoded data. Damaged input will most likely cause very bad things to happen, up to and including causeing the bdecode function to recurse infintly. * oh...