perlに関するsampaguitaのブックマーク (14)

  • WinでのCGIで注意すること - 妄想科學倶樂部

    日からWinサーバへ移設予定だったCGIがコピー中に破損したらしく、急遽古いファイルからバックアップしたら動作しなくなった。 5時間ばかり格闘し、漸く突き止めた原因はファイルロックに用いたSymlink関数だった。そういや「シンボリックリンクがサポートされてないプラットフォームではエラーになる」とあったな。今までnix系でしか動かしてなかったから忘れてたけど、最初にこの手法を学んだKENT WebのCGIにも「Win鯖で動かすときは使えない」と注意書きがあった筈。 そもそもバックアップの管理がきちんとしていれば起きなかった事故ではあるので詰めの甘さに反省しきりだが、再発防止と同じような目に遭った人への情報提供を兼ねてここへ記しておくものである。 ついでに調査手法、というほどの代物でもないが一応。 最初に出たエラーは「CGI Error」だったので文法に問題があるものとPerl文法チェッカ

    WinでのCGIで注意すること - 妄想科學倶樂部
    sampaguita
    sampaguita 2008/12/04
    配布されている CGI スクリプトなんかだと、いくつかの手法から選択するようになっているのもあった記憶が。<ファイルロック / Windows でなければ使えるかといえばそうでもなかったりして。< flock
  • Perl 最速伝説k - Yokohama.pm Teck Talk #1

    と言う事で、連結する変数が多くなると途中から join が最速になる。"$a$b$c" のような形式は最適化されて $a . $b . $c となるようだがやはり数に関わらず最も遅いので使わない。 続・スカラーの文字連結 http://www.ibm.com/developerworks/jp/linux/library/l-optperl/ より 他にも色々拡張してみた。 #!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); my $limit = 100; my $sets = { concat1 => sub { my $string = 'abcdefghijklmnopqrstuvwxyz'; my $concat = ''; for (1..$limit) { $concat .= $string;

  • perl - 配列を1番目からはじめてみる : 404 Blog Not Found

    2008年05月25日01:15 カテゴリLightweight Languages perl - 配列を1番目からはじめてみる 配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる - ’(rubikitch wanna be (a . lisper)) JavascriptPHPの配列や関数などで 配列の最初の要素がary[0]に格納されたりsubstring()関数の起点がゼロであったりしますが ゼロでなく1ではダメなのでしょうか。個人的.. - 人力検索はてな C言語、Ruby、Lispなど多くの言語では配列は0起点である。つまり、先頭の要素のインデックスは0である。 「小飼弾のアルファギークに逢ってきた」でも、インタビューは#0からはじまっているのだけど、これを自由に設定できてしまう類い稀なる言語が存在する。 perlだ。 あまり知られていない

    perl - 配列を1番目からはじめてみる : 404 Blog Not Found
    sampaguita
    sampaguita 2008/05/25
    特殊変数一覧を眺めてたときに、変えられるけど触らないほうが的な記述は読んだ記憶が。ふだんはそもそも忘れてますが。
  • Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー

    Perl の言語組み込みのリスト操作は関数形式で、push(@array, 1, 2) のような記述になります。一つのリストに対して複数の操作をしたい場合などは、関数呼び出しを複数行にわたって書いていくことになり、少々面倒です。しかし Perl は、Perl のリスト実装である配列のリファレンスに bless してメソッドを定義したクラスを作ることができます。この独自に定義したクラスにプリミティブな操作を加えていって、Ruby のように連続したメソッドの呼び出しによるリスト操作を実現することが可能です。 ここでは List::RubyLike という配列クラスを作成します。まずは手始めに配列に bless して、size() メソッドが呼び出せるようにします。以下のようになります。 package List::RubyLike; use strict; use warnings; sub

    Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー
  • tokuhirom blog

    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

    sampaguita
    sampaguita 2007/06/24
    $1,$2...のハッシュ版?
  • tokuhirom blog

    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

  • perl - 左辺値代入 : 404 Blog Not Found

    2007年05月25日15:30 カテゴリLightweight Languages perl - 左辺値代入 それってPerlで。 鍋あり谷あり 条件式の結果を左辺に書ける言語って、C/C++以外にあるのだろうか。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] my $a = 1; my $b = 2; print "a = $a, b = $b\n"; ($a < $b ? $a : $b) = 0; print "a = $a, b = $b\n"; a = 1, b = 2 a = 0, b = 2 さすがに上記の例はあまり使いませんが、 my $str = "foobar"; substr($str, 3, 3) = 'dan'; # foodan とかは比較的よく見られます。 ちなみに、DCONWAYは左辺値代入(lv

    perl - 左辺値代入 : 404 Blog Not Found
  • Perlで文字列をHTML数値文字参照に変換 - 徒書

    blosxom関連の記事を辿っている時に、以下の記事を見つけました。 空繰再繰 - Perl で文字列を HTML Entities に変換する方法 まず述べなければならないのは、HTMLにおける&#26085;のような文字参照の形式は数値文字参照《numeric character reference》と呼ばれるものであって、実体参照《entity reference》ではない、ということ。(詳しくは一般実体参照と文字参照を参照) で、記事を拝見して、Unicode::Escapeも見てみたのですが、このモジュールは元々JavaScriptのUnicodeエスケープ形式を扱うものであるようで、それを更にHTMLの数値文字参照変換のために使うというのは、ややオーバースペックなような気がしました。 答えの1つは、記事が参照していたはてなでの質問でも既に述べられています。 $str = '日

  • はてなもmixiもPerlでできてるようですが、PHPと比較して、「Perlの方が絶対つよいぜ」ということを教えてください。逆に「PHPの方がいいよ」「パフォーマンスも対して変わ.. - 人力検索はて�

    はてなもmixiもPerlでできてるようですが、PHPと比較して、「Perlの方が絶対つよいぜ」ということを教えてください。逆に「PHPの方がいいよ」「パフォーマンスも対して変わらない」などの意見を下さい。

  • 404 Blog Not Found:perl - POO と goto

    2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ

    404 Blog Not Found:perl - POO と goto
  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
  • 404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する

    2007年04月12日01:30 カテゴリLightweight Languages perl - warn()とdie()の振る舞いを変更する こういった場合の対処法です。 shag の日記 - inetd 経由で起動されても peeraddr は取得可能 ところで Perl で inetd 起動のスクリプト書くと STDIN から入力を読み取って, STDOUT に出力すれば良いだけなんだけど、実は STDERR も inetd を通してネットワークストリームに出力されるので use warnings; する人は注意が必要です。これは、例を見てもらうのが一番速いでしょう。 #!/usr/local/bin/perl use strict; use warnings; use Fcntl; # for sysopen our $LOGFILE = 'warn.log'; warn $0;

    404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する
  • perl|javascript - 文字列じゃないhash key : 404 Blog Not Found

    2007年04月10日16:30 カテゴリLightweight Languages perl|javascript - 文字列じゃないhash key なぜamachangが「すごい」といっているかおわかりになるだろうか。 IT戦記 - ActionScript 3.0 の勉強会資料 経由 amachang - ActionScript 3.0 勉強会資料 flash.utils.Dictionary このクラスはすごい ある意味 ECMAScript の 常識をぶち壊す 神秘のようなもの ECMAScript もビビる! 俺もビビる あ、ちょ、痛っ 石投げないで>< 以下のJavaScriptを考えてみよう。 var a1 = []; var a2 = [1,2,3] var o1 = {}; var o2 = {'one':1, 'two':2, 'three':3}; var di

    perl|javascript - 文字列じゃないhash key : 404 Blog Not Found
  • 1