タグ

perlに関するRaphael-w-bのブックマーク (86)

  • unknownplace.org - 2007/12/21 - こうしたいflymake

    Emacs で JavaScript のシンタックスエラーを検出する これ読んですぐ導入したflymake。上記サイトのを少し改造したらperlでもできたのでいまはjsとperlでリアルタイムでシンタックスエラーチェックができている。 僕はすごくtypoがおおいと思うのだけどこれを導入してからtypoではまることがずいぶん減った。もうないとこまるelispのひとつになってる。 ちなみにperl版はこんな感じにしている。 (require 'flymake) ;; flymake for perl (defvar flymake-perl-err-line-patterns '(("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1))) (defconst flymake-allowed-perl-file-name-m

  • Perlまわりの環境を整備した - はこべにっき#

    Leopardにした and Perl5.10-RC1が出た機会にPerl環境の整備をしたのでそのメモ。要求としては以下。 MacPortsのPerl5.8を使いたい MacPortsの管理領域(/opt/local)は汚したくない 最新のCPANモジュールは使いまくりたい Perl5.10を簡単に試したい これまでも、MacPortsでインストールしたPerl5.8を使ってた。そのPerlでCPAN使うときには、 $ sudo -H cpan としてたんだけど、これはMacPortsの管理領域をいじるので若干気持ち悪かった。 自分でコンパイルしたPerlを使ってもよかったんだけど、SubversionのPerl bindingとかのコンパイル時にPerlを求めるやつのインストールとかはMacPortsでやるのががだんぜん簡単なので、そのへんは楽をしておきたい。 そこで、CPANのモジュー

    Perlまわりの環境を整備した - はこべにっき#
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • 404 Blog Not Found:perl - Dir::Tree つうのを書いてみた

    2007年11月07日23:00 カテゴリLightweight Languages perl - Dir::Tree つうのを書いてみた そんなあなたに、こんなモジュールを書いてみた。 tree コマンドが便利 - IT戦記 もっと直感的に(あまり考えずに)、探せるコマンドはないのかなあと思って tree コマンドを使ってみた。使い方は、こんな感じ。 % perl -Ilib -MDir::Tree -e 'print Dir::Tree->new(shift)->tree_cmd(1)' . |-- Changes |-- MANIFEST |-- Makefile.PL |-- README |-- lib | |-- Dir | | |-- #Tree.pm# | | |-- Tree.pm |-- t | |-- 00-load.t | |-- boilerplate.t | |

    404 Blog Not Found:perl - Dir::Tree つうのを書いてみた
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • 404 Blog Not Found:perl - File::Find::Identical

    2007年03月27日00:15 カテゴリLightweight LanguagesTips perl - File::Find::Identical それってPerlで。 ファイル名が違っても中身が同じファイルを探してくれる『NoClone』 | P O P * P O P そこで便利そうなのがこのNoCloneです。重複したファイルを探してくれるツールです。そしてこれが便利なのは、きちんと中身をみて判断してくれる点。すでにその名もずばりのFile::Find::Duplicatesというのも存在しているのですが、速度的にも問題があるし、APIも気にわないので、File::Find::Identicalというものをこさえてみました。 例えば、重複ファイルをハードリンクに全て置き換えるには、これでOKです。 dupe2link #!/usr/local/bin/perl use stri

    404 Blog Not Found:perl - File::Find::Identical
  • perl - B::Deparse : 404 Blog Not Found

    2007年02月11日13:45 カテゴリLightweight Languages perl - B::Deparse 尻馬乗るべし、ということでB::Deparseの紹介。 いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。実は私も、デバッガーはperl -de1ぐらいしか使っていない(perl -de1は非常によく使うので、Terminal.appのウィンドウの一つがそれ専用になっている。スクリプト言語のインタラクティブな利用法に関しては以前「404 Blog Not Found:LL Intaractive」にまとめたのでそちらをご覧頂くとして、ここではなぜスクリプト言語では滅多にデバッガーを使わないかをおさらいした

    perl - B::Deparse : 404 Blog Not Found
  • defined テストのある while と、ない while - peanutsjamjam's diary

    この記事は、2007 年 1 月 27 日に書いた while (defined($line = )) と while ($line = ) の関連記事です。 入力演算子を使って行を読む場合には、こうではなく: while ($line = <FILE>) { # do something }こう書かなきゃならないものだと思っていた: while (defined($line = <FILE>)) { # do something } なぜかというと、読み込んでくるファイルの一番最後の行に、改行文字で終わっていない "0" という一文字が含まれている可能性があって、それを取りこぼしたくないから。 Perl では、"" と "0" と 0 (それぞれ、空文字、文字列のゼロ、数値のゼロ) は、ブール値コンテキストで「偽」とみなされてしまうので、最後の最後に改行文字のついていない "0" (文字

    defined テストのある while と、ない while - peanutsjamjam's diary
  • それ内部イテレータ - odz buffer

    ref:404 Blog Not Found:perl - 格子点を生成する関数の生成 うはは、無理矢理。コードを生成して、eval するなら、そりゃそっちのが速いよなぁ。 つうか、逆転の発想というより、そりゃ外部イテレータが内部イテレータに変わっているって話だ。いやまぁ、別にいいっちゃいいんだけど、内部イテレータ有りならもっと素直に書いてたな。こんなの。 use strict; use warnings; sub mesh_iterate { my ( $sub, @points ) = @_; my $base = pop @points; unless (@points) { for my $i (@$base) { $sub->($i); } } else { mesh_iterate( sub { for my $i (@$base) { $sub->( @_, $i ); }

    それ内部イテレータ - odz buffer
  • 404 Blog Not Found:perl - ♪ドナドナドナドナ〜格子点のせて〜

    2007年02月04日13:00 カテゴリLightweight Languages perl - ♪ドナドナドナドナ〜格子点のせて〜 ちゃんとウケを取れて何より。 odz buffer - それ内部イテレータ うはは、無理矢理。コードを生成して、eval するなら、そりゃそっちのが速いよなぁ。もっと散文的な解決法としては、こんな感じですか。 sub mesh_iterator_flat { my ( $start, $end ) = @_; my @mesh = map { $end->[$_] - $start->[$_] + 1 } ( 0 .. @$start - 1 ); my $points = 1; $points *= $_ for @mesh; my $current = 0; sub { return unless $current < $points; my @poi

    404 Blog Not Found:perl - ♪ドナドナドナドナ〜格子点のせて〜
  • 404 Blog Not Found:perl - 半角スペースを自動で入れる

    2007年01月15日05:00 カテゴリLightweight Languages perl - 半角スペースを自動で入れる 是非はさておき、入れるのであれば自動で入れたい。というわけでこちら。 portal shit! : 半角スペース入れてますか? 半角スペース入れるべき、入れないべき?spacer.pl #!/usr/local/bin/perl use strict; use warnings; use Encode; my $east = qr/(?!\p{M})(?:\p{Han}|\p{Katakana}|\p{Hiragana})/; my $west = qr/(?!\p{M})(?:\p{Latin}|\p{Greek}|\p{Cyrillic})/; binmode STDOUT, ':utf8'; while(<>){ $_ = decode 'utf8', $_

    404 Blog Not Found:perl - 半角スペースを自動で入れる
  • perl - Yet Another 10のUNIX小技 : 404 Blog Not Found

    2007年01月14日05:30 カテゴリLightweight Languages一日一行野郎 perl - Yet Another 10のUNIX小技 Geekなぺーじ:10のUNIX小技にperlを加えるとさらに幸せになれるというお話。 1.ディレクトリの作成 今時-pをサポートしていないmkdir(1)はないと思いますが、ない場合は perl -MFile::Path -e 'mkpath $_ for @ARGV' path/to/dir more/path/to/dir ... で代用が出来ます。 alias mkpath perl -MFile::Path -e \'mkpath \$_ for @ARGV\' と.bashrcや.cshrcとしておけば、 mkpath path/to/dir more/path/to/dir ... と出来ます。 2. tarの解凍先を指定

    perl - Yet Another 10のUNIX小技 : 404 Blog Not Found
  • perl - for(1..1e10) と Iterator : 404 Blog Not Found

    2006年12月22日11:00 カテゴリLiving on the Edge perl - for(1..1e10) と Iterator いい点に気づかれました。 perl の配列とメモリー: 国民宿舎はらぺこ 大浴場 面白いな、と思ったのは、上記リンク先の話題を手元で試していたときに、 @data = map { rand 10 } (1..1e7); $sum += $_ for @data; だとメモリーを喰いまくるのに、 $sum += rand 10 for 1..1e7; だとほとんどメモリーを喰わないこと。 実は、foreach($from..$to)は、Perl 5.005以来最適化されています。 perl5005delta - what's new for perl5.005 - search.cpan.org foreach (1..1000000) optimiz

    perl - for(1..1e10) と Iterator : 404 Blog Not Found
  • [を] Log::Log4perlでログを取ることにしようかと

    Log::Log4perlでログを取ることにしようかと 2006-11-06-4 [Programming] 下記を読みながらメモ。 - perl.com: Retire your debugger, log smartly with Log::Log4perl! http://www.perl.com/pub/a/2002/09/11/log4perl.html Log::Log4perl には5つの logging levels がある。 (低) DEBUG 例えば、DEBUG を指定すると全レベルのメッセージが出る。 これに関して、":easy" を使った例: #!/usr/bin/perl use strict; use warnings; use Log::Log4perl qw(:easy); test($DEBUG); test($WARN); test($FA

  • Mastering Algorithms with Perl : 404 Blog Not Found

    2006年11月02日19:00 カテゴリ書評/画評/品評 Mastering Algorithms with Perl 定番アルゴリズムを徹底理解!:ITproが もブクマされておりますが、それよりもこちらの方がおすすめ。 Mastering Algorithms With Perl J. Orwant / J. Hietaniemi / J. MacDonald 以前404 Blog Not Found:Hash != Associative Arrayでもちょこっと紹介しましたが、ここで改めて紹介しておきます。 書"Mastering Algorithms with Perl"には「定番アルゴリズムを徹底理解!」のアルゴリズムは全て載っている上、それぞれのベンチマークもちゃんと取ってます。"with Perl"とありますが、Perl色はそれほど強くないので、他のLLのユーザーにも役

    Mastering Algorithms with Perl : 404 Blog Not Found
  • CGIの神話と現実 : 404 Blog Not Found

    2006年04月17日18:52 カテゴリLightweight LanguagesLogos CGIの神話と現実 PHPのパフォーマンスに関しては、すでに川合さんのPerlよりPHPの方が軽くて速いは当?が出ていて、これでプロには充分なんだけど、すでにプロのプログラマーを離れて、一般の人でも動的Webページ生成プログラムを書くようになった今、もう一度整理しておいた方がいいかも知れない。 提督の野望 海軍広報: 2006/4/17 PHP たしかにCGIはパーミッションの設定とか面倒なことが多かったし、スピードも遅いから廃れても仕方ないんだけど、じゃあPHPはどのぐらい使いやすいのかね? と思って調べてみた。 誤解その1--CGIはPerlで書かれている まず最初に抑えておきたいのは、CGIは言語の名前ではなく、Webサーバーが外部プログラムにページ生成を依頼する時にどんな情報を渡し、ど

    CGIの神話と現実 : 404 Blog Not Found
  • Class::C3, Algorithm::C3 を勉強したよ! - IT戦記

    DBIx::Class を少し使ったことがあったので Class::C3 をなんとなくで理解していたんです。(ふーん幅優先版の NEXT モジュールでしょ?みたいな感じで。) でも、これは絶対にちゃんと細かい挙動まで勉強しといたほうがいいと思いました。 多重継承とか mixin とかに強くなりたいなと C3 C3 というのは Python 2.3 のドキュメントに書いてある MRO(Method Resolution Order 多重継承したときにどんな感じでメソッドを探索するかという順番) を決めるアルゴリズムで。Algorithm::C3 っていうのがそのアルゴリズムの Perl 実装なんです。 それに! Parrot でも使えるみたいだし! ちなみに MRO ってこんな感じね A には add というメソッドがある B にも add というメソッドがある C は A と B を多重継

    Class::C3, Algorithm::C3 を勉強したよ! - IT戦記
  • HTML::TreeBuilder + CSSセレクタがいい感じな件

    先日 PerlCSSセレクタ で HTML::Selector::XPath がいい感じであると思ったわけですが、CSS セレクタだけじゃなく何気に HTML::TreeBuilder::XPath とのコンボがすげーイイ!ということにいまさら気づきました。 HTML::TreeBuilder::XPath で findnodes するとツリー状に連なった HTML::Element なデータ構造が返ってくるんですが、HTML::Element は API をかなりいろいろ持ってて、これをうまく使ってやるとスクレイピングを自然な感じで書けます。 例えばはてなダイアリーの任意のページから、文部分だけをスクレイピングしたいと思ったときにキーワードリンクが邪魔だったりするわけですが、とりあえず HTML::Selector::XPath で div.section をぶっこ抜いて取れた HT

    HTML::TreeBuilder + CSSセレクタがいい感じな件
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • perl - Perl6の$variable.perlをPerl5で : 404 Blog Not Found

    2006年10月08日01:45 カテゴリLightweight Languages perl - Perl6の$variable.perlPerl5で どちらも残念ながら不完全。 CLON - 2006/10/07 あ、UNIVERSAL::pにすればいいんじゃね。 subtechグループ - Bulknews::Subtech - [Perl] Dumping variables Everywhere without use() package P; use strict; use YAML; *CORE::GLOBAL::dump = sub { warn YAML::Dump(@_); }; 1; 前者は$obj->pはよくてもp { foo => 1 }(Unblessed reference)が駄目で、後者はその逆。あとbuiltinされていないものにはこの手が使えず。 na

    perl - Perl6の$variable.perlをPerl5で : 404 Blog Not Found