twitter で Japan Perl Association の CEO とお話をしたメモ。ainsophyao が私。 a「perl は黒魔術。reverse($i) eq $i だけで言語として恣意的なスカラーコンテキストだとか自動変換だとか、とても奥が深い症候群。生物屋のような素人にはお薦め出来ない。」http://twitter.com/ainsophyao/status/11146736285 l「eq は 文字列の比較だからどちらにしろおかしいんじゃないかな RT @ainsophyao: perl は黒魔術。reverse($i) eq $i だけで言語として恣意的なスカラーコンテキストだとか自動変換だとか、とても奥が深い症候群。生物屋のような素人にはお薦め出来ない。」http://twitter.com/lestrrat/status/11147349751 a「いえ、
perl-casual #2 の ustream を聞いてると、makiさんが、Live Codingしているときに「パスワード見えちゃうなー」みたいなことを言っていたので。 たぶん、ご存知だとは思いますが、パスワードが必要なデモをする時は IO::Prompt 使うといいんじゃないでしょうか。 use IO::Prompt; my $password = IO::Prompt::prompt("input password:", '-echo', '*'); print $password->{'value'}; 打った文字は、-echo で指定した、"*" に変換されて表示されます。 Reviewによると、Windowsじゃ動かないようなのですが、Windowsの場合に使える代替モジュールは...なんかあるのかな?
最速IPアドレスマッチ研修会 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? もうすぐ2010年になるわけですが、携帯のサイトなどでアクセス元のIPアドレスがキャリアのIPアドレス帯域内にあるかどうかを確認したりすることがあると思います。 例えば、ローカルネットワークのアドレス(192.168.1.0/24)にマッチするかどうか $env->{REMOTE_ADDR} =~ s/^192\.168\.1\.(?:\d+)$/ なんて書くことがあると思います。ここであげたローカルのアドレスのような/24のIPアドレス帯域であれば簡単に正規表現を書くことが可能ですが、/25, /26 /23、/22などのCIDRは正規表現で表すことはなかなか難しいです。 また、携帯キャリアのアドレスであることを確認しよう
CGI.pmで作ったCGIをコマンドラインから実行する 某所での会話: 13:14 <#perl6> t****: y'know, one thing that got me into Ruby was that the CGI library would auto-detect that I was testing it in a browser and take arguments as if I was working in a browser. Made troubleshooting a breeze... 13:14 <#perl6> t****: I mean, testing from the command line... 13:15 <#perl6> t****: I always wished the perl CGI module would do that...
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
良く書き方を忘れがちなソート。 特にPerlとPHP両方使ってるとPerlはこうだけど、PHPはどうだっけ?とかよくあるのでここらでまとめをしておく。 配列を文字列で昇順・降順ソート # 昇順 @sarray = sort @array; @sarray = sort { $a cmp $b } @array; # 降順 @sarray = sort { $b cmp $a } @array; Perlのsort関数はブロック表記を省略するとデフォルトで昇順ソートになります。 <?php // 昇順 sort( $array , SORT_STRING ); // 降順 rsort( $array , SORT_STRING ); PHPのsort関数は引数に渡された配列をソートする。 第二引数を指定しなくも動くには動くが、省略すると値に数値と文字が混在してるときにおかしくなるので明示的に
WWW::NicoVideoという面白そうなモジュールがCPANに上がってるなぁと思い、ソース読んでたらモジュールの終端が"Ritsuko";で吹いた 作者はきっとアイマス好きに違いない。 --解説 Perlのモジュールはほとんどと言っていいほど大抵の場合 1; で終わってる。 本当はreturn 1;なんだけど、Perlの場合、最後に評価したものが返り値になるので、実は式さえ書けばreturnは不要なのだ。だから省略して 1;と書く。 で、なんで1を返すのさと言うと、Perlで他のソースファイルを利用する場合に使うuseとrequireはファイルの終端を評価して偽だったら読み込み失敗という処理が入る。0や空文字、undefでなければ偽とみなされないので慣例的に1が使われている。 評価して偽にならなければなんでもいいのだが、実際に1以外を使用してる人は初めて見たわー。
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
Tiarra Pure Perl で書かれた IRC Proxy ソフトウェア 特徴 IPv6 サポート マルチキャスト(一つのIRCクライアントから複数のサーバを閲覧できる機能)標準サポート (シングルサーバでも動作します) マルチリンガル (Unicode::Japanese/Encode の2種類のモードがあり、それぞれサポートしている文字コードに限られます)。 内部文字コードは UTF-8 シングルスレッド (マルチスレッドサポートがあれば名前解決のために利用します) 複数サーバに同時アクセス (select を利用した複数同時IOのフレームワークを持っています) リポジトリパス svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra sample.conf を tiarra.conf にコピーしてか
ruby 、perl 、python の多倍長整数演算の速度を適当に比較してみました。フィボナッチ数の計算速度比較以上にどーでもいい比較です。 前置き 使用した処理系のバージョンはそれぞれ以下のとおりです。 ruby 1.9.0 (2008-01-16 revision 0) perl v5.10.0 python 3.0a2 perl は多倍長整数を扱う方法が何個かあるようなので、標準装備らしい bigint と、別途 CPAN でインストールしないといけない Math::BitInt::GMP (GMP の binding) の 2 種類を試しました。python の psyco はなんか動かなくて面倒だったので試してません。この比較にはあまり影響しないような気がしてます。僕は Perl と Python は素人なので、もっと速くて美しい書き方・やり方があったら教えてください。 実験
404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基本をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基本的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pm の Perlスクリプトで実装されています。し
Scrapingは余りやらないんですけど、いざやる場合にフォームのパラメタとか調べるのは面倒です。そんな時にWWW-Mechanizeに付属のコマンドのmech-dumpを使うと便利です。 サンプル 例えば、Pathtraqのトップページなら、 $ mech-dump --forms http://pathtraq.com/ GET http://pathtraq.com/analytics url=解析したいサイトのURLを入れてください (text) <NONAME>=解析する (submit) m=hot (radio) [upcoming|*hot|popular|site]と言う風に出力されます。*1 つまり、 name type value url text -- submit 解析する m radio hot(/upcoming/popular/site) って感じだと分かる
Yahoo! JAPAN の「日本語形態素解析Webサービス」を使うモジュールを作り始めて、coderepos にうpらせていただいたよ!この子は、ヴァギナ(#vagina@irc.woremacx.com)から生まれた子供だよ。tomyhero さんとの会話の中でサービスを紹介してもらったのがきっかけで書き始めて、yusukebe さんに命名してもらったんだ。エラー処理を全くしてない子なので、これから書いていくよ!なにか気に入らない点があれば、coderepos の trunk に直接 commit していただけると助かります。WebService::YahooJP::TextParselib/WebService/YahooJP/TextParse.pmYahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析 use strict; use warnings; us
英国放送協会(BBC)がPerl on Railsを名乗るMVCフレームワークを開発したという話が一部をにぎわしていたので、簡単なまとめ。英語で話を追える人は下記を(コメント欄含めて)順に読んでいけばOKです(これ以外にもスラッシュドット(本家)をはじめ、いくつかのソースに情報が分散していますが、必要な流れはだいたいこの三つで把握できるはず)。 http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml http://derivadow.com/2007/11/30/perl-on-rails/ http://iamseb.com/seb/2007/12/perl-on-rails-why-the-bbc-fails-at-the-internet/ さて、本題。2007年11月30日に「BBCが自社フレームワークとして
テキストエディタでのプログラミング こんにちは、Perl担当の西山です。 唐突ですが、皆さんはPerlプログラムを開発する時は どんなアプリケーションを使ってコーディングしていますか? おそらくPerl使いの方々の多くは、 スクリプトなどで機能を拡張できる高機能なテキストエディタを駆使して 日々開発しているのではないでしょうか。 Unix系であればEmacsやVim、Windows環境なら秀丸やEmEditor、 MacだとmiやBBEditなどでしょうか? かくいう私はWindows環境でVimで開発しています。 ファイル検索用のfuzzyfinderやモジュールをアウトライン表示するtaglistなどの拡張スクリプトを入れて快適に作業しています。 が、実際のところこれらのテキストエディタはインストールしただけの素の状態では せいぜいシンタックスハイライトぐらいしか言語に
この間ちょっと紹介したirssiのプラグインスクリプトとしてmobircをつかうmobirc.plスクリプトですが、実用に耐えうる段階まできましたので再度紹介しておきます。 画面サンプルはこんな感じ。(スクリーンショットが取れるPSPでの画面です) 素のmobircはIRCクライアント機能と、HTTPD機能を両方持ち、tiarraなどのIRCプロクシにつなぐことで使用するものになっていますが、こちらのirssiプラグインではmobircのIRCクライアント機能はirssiプラグインとして実装していますので、irssiさえあれは利用することができます。 イメージ的にはirssiがHTTPDを立てている感じになってます。 またキーワード設定などもirssiのハイライト設定を使用していますので、別途mobirc側でキーワード設定をする必要がないのもちょっとうれしいところです。 実際の使い方(イン
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く