Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

2012-01-01から1年間の記事一覧

カッコを含む文字列を置換するところではまった話と別解とのベンチマーク

すごく長い文字列から、最初にでてきた指定文字を削除したかったのだけど、 その指定文字に開きカッコだけか、閉じカッコだけが入っているとエラーで死んだ。 my $str = q!1qaz2wsx(3edc4rfv5tgb)6yhn7ujm!; my $del = q!4rfv5tgb)6yhn!; $str =~ s/$del//; …

引数が格納される配列@_はローカル変数です

これまでまったく意識したことなかったけれど @_はlocalだと知ったのでメモ。 sub speak { my $w = &_speak_word; # ←引数なし print $w,"\n"; } sub _speak_word { my $type = shift; # ←でも引数が取り出せる if ($type eq 'laugh') { return 'HAHAHA'; } …

最近はandやorより&&や||を使うようにしている

Perlを使い出した頃は「and」や「or」の論理演算子の方が 『「&&」や「||」の記号よりもそのまま単語として読めるからよい!』 みたいなのがどこかに書いてあったのをずっと覚えていて、 実際優先順位も低いから書きやすくて使っていたけれど 最近は「&&」「…

perldoc perlperfに宮本武蔵の言葉があった

... If you want the condensed version, perhaps the best advice comes from the renowned Japanese Samurai, Miyamoto Musashi, who said: "Do Not Engage in Useless Activity" in 1645. 役に立たないことはするな 五輪書 - Wikipedia

最近のPerl WAFをベンチマークした

試したのは以下。 Catalyst -- 元祖WAF Mojolicious -- 軽量WAF Dancer -- 軽量WAF Amon2 -- シンプルWAF Amon2::Lite Amon2(Flavor::Minimum) Kossy -- ISUCONのWAF Web Application Frameworkなので、HTMLの出力を測定。 またテンプレートエンジンにはText…

decode(utf8=>$str)とdecode_utf8($str)のちがい

昨日のエントリで文字化けした件についてもう少し調べてみた。 Devel::Peekで文字化けした文字をダンプしたところ、面白いことがわかった。 UTF-8フラグがついていない文字列のはずなのに、FLAGSの欄に"UTF8"が出ていた。 FLAGS = (PADMY,POK,pPOK,UTF8) # <…

Perl5.8.5から5.14.2にしたら文字化けした話

RHEL4のサポート期間が延長なしだと今日で最後。 Red Hat Enterprise Linux - Wikipedia 標準のPerlのバージョンは5.8.5。 というわけで先日RHEL5にすると同時に5.14.2にしてやるぜ!、と意気込んでperlbrewで入れたら(RHEL5のデフォはPerl5.8.8)、既存のシ…

技術評論社の新刊書籍RSSから元ページを辿ってサムネイル画像を取得する

RSSに配信されたWEB+DB PRESS Vol.67のリンク先が404だったので、scrapeするとcroakしてしまうのをevalした。 初gist。

use utf8しても全角記号は使えない

らしい。 日本語Perl第2課 確かに失敗する。 use utf8; my $数1 = 0; sub 数1に入れる→ { $数1 = $_[0]; } sub 改行 { "\n" } my $数2 = 6; 数1に入れる→ $数2; print $数1, 改行; Illegal declaration of subroutine main::数1に入れる at te.pl l…

perlbrewとrvmその2

Perlのperlbrewのlocal::libと、Rubyのrvmのgemsetを管理する方法の対応関係。 モジュールをインストールするための別空間作り。 perlbrew rvm 作成 $ perlbrew lib create catalyst59007 $ rvm gemset create rails31 既存一覧 $ perlbrew list $ rvm gemse…

perlbrewとrvm

PerlのperlbrewとRubyのrvmでの対応関係メモ。 公式サイト perlbrew http://perlbrew.pl/ rvm http://beginrescueend.com/ インストール perlbrew curl -kL http://install.perlbrew.pl | bash echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bash_profil…