タグ

perlに関するjiangmin-altのブックマーク (31)

  • Higher-Order Perl

    by Mark Jason Dominus Order Higher-Order Perl online from Powell's Books Download full text here There are three versions available. You have your choice of structure or presentation, but not both. License reminder Higher-Order Perl is copyright ©2005 by Elsevier Inc. Unauthorized reproduction or distribution is absolutely forbidden. You may download the book for your personal use, but you may not

  • perl - tie()って何をtieするの? : 404 Blog Not Found

    2008年07月05日01:30 カテゴリLightweight Languages perl - tie()って何をtieするの? 私はタイをまとうのがだいっきらいですが、Perl 5の中で一番好きな関数がtie()だったりします。 tie関数とは - 燈明日記 すると、裏で処理が動き、オブジェクトをコンストラクトしたり、とある処理結果が参照できたり、代入したものに対応したものを格納出来たりする。 というわけで、tie()について語っておくことにしましょう。 tie()とはなにか? ずばり、「オブジェクトではない、perlの組み込みデータタイプを裏でオブジェクト化する仕組み」のことです。それがなぜtieと呼ばれるかと言えば、変数を指定されたクラスに結びつけるから、です。 論より証拠、実際に見てみましょう。 use strict; use warnings; { package MySca

    perl - tie()って何をtieするの? : 404 Blog Not Found
  • perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found

    2008年07月02日23:00 カテゴリLightweight Languages perl - デフォルト値のperlらしい指定法 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] これでもよいのだけど、さらに恰好つけるとよりperlらしくなるので。 デフォルト値の扱い。 - サンプルコードによる Perl 入門 Scalarによるデフォルト値 sub num{ my $num = shift; # .... } ここは sub num{ my $num = shift || -1; # .... } の方がわかりやすい。0または''を入力値、すなわち非デフォルト値として扱いたい場合のみ、 sub num{ my $num = shift; $num = -1 if not defined $num;

    perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found
    jiangmin-alt
    jiangmin-alt 2008/07/03
    "なお、このテクニックはCookbookにきちんと載っています"
  • perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found

    2008年06月30日04:00 カテゴリLightweight LanguagesTips perl - use Carp; # warn() と die() だけじゃなくて 以下のエラー処理の方法にちょっと口を挟みたくなったので。 エラー処理を行う。 - サンプルコードによる Perl 入門 warn() vs. die() まず、warn()の使い方。エラーに対して使ってはいけません。warnはその名の通り、あくまでもエラーではなく警告です。エラーの際にはdie()を使わなければなりません。 警告とエラーの違いですが、警告は「続けて処理してもいいけど、これはあなたの意図ではないかもしれません」という場合、エラーは「このままでは処理を続けられません」という場合です。 たとえばperlの場合、抜けた引数はundefなので、数値としては0、文字列としては''として解釈されます。それらをデフ

    perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found
  • perl - 勝手に添削 - Perl入門#1@ITPro : 404 Blog Not Found

    2008年06月03日06:00 カテゴリLightweight Languages perl - 勝手に添削 - Perl入門#1@ITPro さすがに出典が日経Linux 2003年7月号だけあって、少しトウがたってはいるけど、現在でもわずかな修正で使える記事。さすが川合さんといったところか。 第1回 Perlの文法の基ITpro というわけで、この記事の「現代化」Patchを。 全般 use strict;だけではなくuse warnings;も加えましょう。 さらに,調べても分からないことがあれば,メーリング・リストやユーザー・グループ*2に質問してみてもよいでしょう。 blogに書くのもアリです。あと私は使っていないけどIRCとか。 ビルトイン関数は()でくくらない方が視認性が上がります。 before: chomp($sLine); after: chomp $sLine;

    perl - 勝手に添削 - Perl入門#1@ITPro : 404 Blog Not Found
  • 404 Blog Not Found:perl - There's more than one way to die

    2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは日から開業。我が家では日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;

    404 Blog Not Found:perl - There's more than one way to die
    jiangmin-alt
    jiangmin-alt 2008/05/10
    "perlでは、__DIE__という疑似シグナルをサポートしています。ここにcodeを指定することにより、die()の前処理を定義することも出来ます"
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    jiangmin-alt
    jiangmin-alt 2008/04/09
    binmodeはよく使う。
  • 「同じコード」の同じって何さ - TAPのススメ : 404 Blog Not Found

    2008年03月27日03:00 カテゴリArtLightweight Languages 「同じコード」の同じって何さ - TAPのススメ 問題は、この「同じコード」の定義。 「誰が書いても同じコード」は大事なことなのか - ひがやすを blog でも、「誰が書いても同じコード」にするってのは、そもそも無理だと思うんだよね。そうやって、わざわざドキュメントをたくさん書かせても、めためたなコードを書くやつはいて、総合テストするときに、現場は燃え上がるもの。ある程度の規模以上のプロジェクトなら、どこでもそんな感じじゃないかと思います。同じ「書き方」をしなければならないのか? 結果が「同じ」ならいいのか? もし後者だとしたら、実は 重要なのは、「誰でもメンテナンスできるコード」にすること。そのために、コーディング規約は、きちんと決めてみんなで守る、それ以上は、がちがちに縛る必要はない。 すら必

    「同じコード」の同じって何さ - TAPのススメ : 404 Blog Not Found
  • utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech
  • perl - myとourとscopeと : 404 Blog Not Found

    2008年01月10日10:15 カテゴリLightweight Languages perl - myとourとscopeと うーん、微妙に違います。 local と my - IT戦記 our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 以下のコードを見てみましょう。何と表示されるでしょうか。 { package Foo; our $bar = 'baz'; } our $bar = 'drink'; warn $bar; warn $Foo::bar; 「ソースに限定する」あるいは「ファイルに限定する」のだとしたら、この挙動はありえないはずです。 ここで、Perlのスコープに関するルールを覚えておきましょう。すっごく簡単です。 {}は、問答無用でスコープを作る = b

    perl - myとourとscopeと : 404 Blog Not Found
  • perl - no underscore; # so $_ is forbidden : 404 Blog Not Found

    2007年12月25日17:30 カテゴリLightweight Languages perl - no underscore; # so $_ is forbidden Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] そんなあなたのために、underscore.pm whileでファイルハンドルをループする時の暗黙の$_について - Unknown::Programming whileでの暗黙の$_はローカル化されないのです。コレ超重要。 /lang/perl/underscore/ - CodeRepos::Share - Trac @CPAN (Coming Soon!) これの仕組みはPerl Cookbookのp. 543に出てきますが、こちらのバージョンは少し機能強化してあります。croakの

    perl - no underscore; # so $_ is forbidden : 404 Blog Not Found
  • :: Cepheid :: - ファイルのアップロード その1

    はじめに ローカル上のファイルをサーバー側にアップロードするCGIを作成する方法を紹介します。Perlの標準モジュールであるCGI.pmを使用すれば、簡単にこの機能が実現可能です。 このスクリプトの作動環境は次の通りです。Windows2000 SP4、Apache 1.3.31、ActivePerl 5.8.4 build 810。そしてUNIX環境でも確認しています。FreeBSD、Apache1.3.31、Perl5.6.1。CGI.pmはバージョン2.47以上を想定しています。 尚、CGI.pmは標準モジュールなので新しく用意する必要はありません。すぐに利用出来ます。以下に簡単な使用例を取り上げてみます。 HTMLのフォーム部分の作成 さて最初はHTMLのフォームを作成します。これを仮にupload.htmlとします。 <?xml version="1.0" encoding="S

  • 404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン

    2007年10月30日20:00 カテゴリLightweight Languages perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン 久々の勝手に添削。今回はこちら。 40行で作るPerl用テンプレートエンジン 正規表現がらみなので、Perl以外でも有用。 添削箇所は、こちら。 40行で作るPerl用テンプレートエンジン sub convert { return unless defined(my $str = shift); $str =~ s{&amp;}{&amp;}gso; $str =~ s{<}{&lt;}gso; $str =~ s{>}{&gt;}gso; $str =~ s{\"}{&quot;}gso; $str; } これの最初のsubstitutionが&amp;ではなくて&ではないかというのはさておき、こういった場合、何度も正規表現をかけ

    404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン
  • Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found

    2007年10月17日17:00 カテゴリLightweight Languages Regexp - Regexp::Commonを引くAPI Mastering Regular Expression Jeffrey Friedl [邦訳: 詳説 正規表現] そういうことを防ぐにはどうしたらよいか、と考えて作りました。 秋元@サイボウズラボ・プログラマー・ブログ: phpspotの人は正規表現について語らないほうがいいのでは この人、以前にも正規表現のいいかげんな記事を書いていろいろ突っ込まれている。まずは実例から。 Server Source 何をしているかというと、Regexp::CommonをJSONPで引いているのです。このRegexp::Commonは、実際に使用され配布されている正規表現集としては最も実績のあるものの一つですが、そのままではPerlでしか使えないのでこうしてみ

    Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found
  • Perlメモ/CGIモジュール - Walrus, Digit.

    フォームデコードなどの機能を持つ、CGI作成者のためのPerlモジュール。 CGIモジュールはHTMLやフォームの生成、フォームデータのパース、Cookieの取得と出力などの機能を持つモジュールです。 いささか重厚長大のきらいはありますが、CGI::Liteモジュールと異なりCGIモジュールは多くの環境でデフォルトインストールされていることなど、CGIモジュールを選ぶべき理由も多くあります。 CGIモジュールには多くのドキュメントが付属しています。 この内いくつかは、Perldoc.jpで和訳した文書を見ることができます。 http://perldoc.jp/docs/modules/ IBMのサイトには「便利なCGIスクリプト作成のためのヒント~CGI.pmモジュールを綿密に検討する」という文書があります。 いささか古いのですが、CGIモジュールを使ったファイルアップローダを検討するのに

  • FrontPage - A single file wiki - wifky!

    1ファイルを FTP で置き、実行属性を付けるだけで導入完了 Perl 5.004 以上であればよく、外部ライブラリは不要、どこでも動作可能 画像・添付ファイル・1行コメントなど必要十分な機能を装備 プラグイン追加以外、設定変更・テーマ編集が全てブラウザ操作のみで可能 FTPで置くだけで、体ファイル修正不要のプラグイン追加 「プラグインマネージャー」というプラグインを導入することで、 プラグイン追加もブラウザで行うことも可能 ページ凍結・新規ページ作成の禁止など、 個人テキストサイト構築ツールとしての機能が充実*1 スクリプトは修正BSDライセンスで公開され、自由に修正・再配布・こっそり利用が可能 インストールはこちらです。

  • スレッド式掲示板0-10 人気順 PHP/CGI検索 夢幻

    CGI登録件数 CGI検索なら夢幻 フリーCGIからPHP,シェアまで検索できるディスカッション sample (145 MR / 13,430 View / 1,730 DL / 9,918 Sample / 941 Explain / 2006-07-24 Regist) 言語 : CGI/Perl カテゴリ : スレッド式掲示板 超多機能スレッド式メッセージボード。 画像、ファイルアップロード、検索、レス、書き込み統計などの機能が揃っています。 スレッド書き込み数と閲覧数、未読数をトップページに表示します。 CAPTCHAによる宣伝スパム防止機能完備。

  • hidekik.com -- A CGI script supplier --

    ガリレオからエイブラハム・リンカーンの時代まで、ギャンブルは常に研究者の実験の場であり続けてきました。クチャ―スキー氏のの表紙には、「16世紀のパブでサイコロが振られた時から、偶然性に関する研究が行われるようになり、ポーカーによってゲーム理論が生み出された」と書かれています。

    jiangmin-alt
    jiangmin-alt 2007/05/20
    掲示板など
  • perl - use utf8; : 404 Blog Not Found

    2007年05月10日19:00 カテゴリLightweight Languages perl - use utf8; 添削というより、ちょうどutf8 pragmaを説明するのにいい例題なので。 はこべにっき# - Web::Scraper便利! my $left = decode_utf8('『'); my $right = decode_utf8('』'); スクリプトがUTF-8で書かれている場合は、わざわざdecode_utf8('リテラル');とするより、最初にuse utf8;としておくのが吉。 この点を明らかにするために、以下のcode snippetを示す。 #!/usr/local/bin/perl use strict; use warnings; use Encode (); use Devel::Peek; { use utf8; my $name = '小飼弾'

    perl - use utf8; : 404 Blog Not Found
  • perl - Inside-out Object : 404 Blog Not Found

    2007年03月11日03:30 カテゴリLightweight Languages perl - Inside-out Object ところが、そのないはずの隠蔽化を強制する仕組みがすでに発見されているのです。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ビンゴ中西のほげほげ Kansai.pm第8回ミーティングに行ってきました@荷造り中そして、Perlのオブジェクト指向には 隠蔽化を強制する仕組みはない いつか書こうと思っていたけど、ちょうどいい機会なので。 ここでは例として、name,uriという二つのインスタンス変数を持つオブジェクトを実装してみます。 InsideOut.pm { package InsideOut; use strict; use warnings; my %objects; sub new { my

    perl - Inside-out Object : 404 Blog Not Found