タグ

Perlに関するhighfrontierのブックマーク (19)

  • sprintfで使用する引数を直指定する方法 - Unknown::Programming

    久々にPerl。いや、ほんと久しぶりよね。 printf '%d年%d月%d日', 2010, 12, 22; # 2010年12月22日 上記のような処理の時に、引数の数は変更せずに年を削って「12月22日」と表示したい場合、以下のようにすれば可能。 printf '%2$d月%3$d日', 2010, 12, 22; # 12月22日 「%」と「d」の間に「数値$」を追加することで使用する引数を直指定できる。上記の場合だと2番目と3番目の引数を使うという感じになる。 こんなsprintfの使い方なんて滅多なことではしないと思うけど、その滅多が来ちゃったので滅多ごめん。 滅多ごめん。 # ちなみにPHPでも可能。 参考:sprintf - perldoc.perl.org

    sprintfで使用する引数を直指定する方法 - Unknown::Programming
    highfrontier
    highfrontier 2010/10/28
    これしらなかった
  • Tie::Fileモジュールの使い方メモ - 備忘帳 - オレンジ工房

    テキストファイルの各行に、perlの配列でアクセスできるモジュールなのです。変更は随時ファイルに反映されるので、用途によっては便利、用途によっては不便。 個人的には、頻繁に使ってます。:-) ちょっとテキストファイルをどうにかしたいだけ、って時とか、使い捨てプログラムには、とりあえず早く書けていいです。ログファイルを部分的に取リ出して、処理してブラウザで見るとか(この用途に限ると`tail -n 20 ファイル名`;とかで済ますこともあるのですが)。 use Tie::File; tie my @array, 'Tie::File', "filename" or die; # 配列は0から始まるので、[0]が1行目。 $array[13] = 'blah'; # ファイルの14行目を'blah'に変更 print $array[42]; # ファイルの43行目をprint $n_recs

    highfrontier
    highfrontier 2009/11/11
    行アクセスしたいとき使う via: Tie::Fileモジュールの使い方メモ - ORANGE FACTORY
  • Xango - Event Based High Performance Web Crawler Framework - metacpan.org

    NAME Xango - Event Based High Performance Web Crawler Framework SYNOPSIS use Xango; DESCRIPTION ****************** WARNING! WARNING! WARNING! **************** * This new release is NOT compatible with the old Xango 0.0x! * * Beware and use at your own risk. * *************************************************************** Xango is a framework for writing web crawlers. As such, it doesn't do a whol

  • Web Testing with HTTP::Recorder

    Web Testing with HTTP::Recorder Jun 4, 2004 by Linda Julien HTTP::Recorder is a browser-independent recorder that records interactions with web sites and produces scripts for automated playback. Recorder produces WWW::Mechanize scripts by default (see WWW::Mechanize by Andy Lester), but provides functionality to use your own custom logger. Why Use HTTP::Recorder? Simply speaking, HTTP::Recorder re

    highfrontier
    highfrontier 2007/05/07
    超便利!
  • pmtools - naoyaのはてなダイアリー

    Journal of Mark Leighton Fisher (4252) で Tom Christiansen が 1999 年に書いた pmtools なるツール群があるという話が挙がってました。pmtools という名前を初めて聞いたもんで、試しにインストールしてみました。 pmtools は Perl のモジュールや POD に関する小さなコマンドラインツールがいろいろ同梱されてるパッケージです。インストールはアーカイブ落としてきて perl Makefile.PL; make; sudo make install で OK。それぞれのコマンドの使い方は README 見るなり man 見るなりで見ることができます。 基的に Perl のコード数行からなる簡易ツールで、ワンライナーとかでやることが多いものをコマンドひとつで呼べるようにしてるとか、そういうものがほとんどでした。1

    pmtools - naoyaのはてなダイアリー
  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ
  • XML を Perl の高階関数で。 : torus solutions!

    XML::LibXML で XML を作るときに、 いちいち createElement とか appendChild とか書くのに飽きてきたので、 高階関数版を作ってみた。 (2005/4/27:テキストノードを追加する機能を付け足して、説明も書き足しました。) 前置き Perl でクロージャを作ってプログラミングするのが好きですというと、 Perl でクロージャなんかかけるの? という顔をする人がたまにいるんですが、 もちろんかけます。 『Higher-order Perl: A Guide To Program Transformation』 というが出ているくらいだし。 例 my $dom = (_DOM (_E fuga => {a1 => "attr1", a2 => "attr2"}, (_E hoge => {}, "Hahaha!"), (_E "piyo"))); こ

  • [PAR] perlをexe化 ぼくはまちちゃん!

    (2005/06/19) PAR というものを使えばperlスクリプトがwindowsの実行形式(exe)化できるらしい。 仕組みはこんな感じ。 Perlインタープリタを含む必要ファイルを全てexeにまとめる(実はzip) exeが実行されると、裏で展開して、中のPerlインタープリタ(dll)でスクリプトが実行される。 なるほどなるほどー。 いちいちActivePerlをインストールして云々とかしなくても いきなり実行できちゃうようになるわけだね!すてき! ※ただし拡張子をzipに変えるだけで、中のソースが覗けるけど で、さっそく使ってみた。ちょっと苦労した! よって以下はインストールメモだ! 現在の最新版は5.8.7.813。入れちゃダメ。 素直にこれをインストールしたら最終的にPARで作ったexeを実行した時に 「プロシージャエントリポイントPL_memory_wrapがダイナミック

  • mizzy.org : perlでOpenID Consumerを実装してみる

    perlでOpenID Consumerを実装してみる Posted by Gosuke Miyashita Sat, 05 Nov 2005 12:02:30 GMT OpenID を理解するために、OpenID Consumerをperlで実装してみることにした。といっても、 Net::OpenID::Consumer モジュールを利用しているわけで、いちから自分で実装しているわけではないです。「モジュールがあるから楽勝」と思っていたら、意外とてこずってしまいました。動作サンプル。ソース。 認証時の流れについては、「ぴろ日記 - OpenID: Specs , OpenID認証サーバ , OpenIDにおける認証って奴」が詳しいです。今回実装しているのは、ぴろ日記さんで「とりあえずわかりやすい」と言われている、「dumb + setup モード」です。 以下、簡単に説明を。 動作サンプ

  • naoyaのはてなダイアリー - xinetd 経由で SQL をたたくためのデーモン

    Perlネットワークプログラミング―ソケットの使い方からクライアント/サーバーシステムの開発まで を読んでたら Chatbot::Eliza を使った簡単なスクリプトを、inetd 経由で動かしてデーモンとして動かすみたいな話がありました。inetd はその中で、標準入力や標準出力をクライアントとのソケットへ再オープンして、指定されたコマンドをデーモンとして実行するので、標準入出力を扱う簡単なプログラムを修正なしにデーモンとして動かすことができる、といったもの。 ということで、試しに簡単な Hack をしてみました。 #!/usr/local/bin/perl use strict; use warnings; use DBIx::DWIW; $| = 1; my $db = DBIx::DWIW->Connect( DB => 'mysql', User => 'nobody', Pas

    naoyaのはてなダイアリー - xinetd 経由で SQL をたたくためのデーモン
  • Perl.com: Catalyst の翻訳

  • きよへろのPerlコードをリファクタしようのコーナー No.2

    2回目やってるっぽいので、今回も私家版を書いてみる。 というわけで id:naoya からの今回の課題。 「スクリプトを実行することで、現在の日付を返すスクリプト」 やっぱり最初は localtime を素で使っちゃうよね。Perl の入門書にはおそらくほとんど localtime での例になってると思われます。しかし、僕なら Time::Piece を使う。 #!/usr/local/bin/perl use strict; use warnings; use Time::Piece; my $lt = localtime; printf "%s %s\n", $lt->ymd('/'), $lt->hms;なぜって、localtime の関数型インタフェースがださすぎるから。Matt Sergeant タンのTime::Piece を使えば組み込みの localtime が OO イン

    きよへろのPerlコードをリファクタしようのコーナー No.2
    highfrontier
    highfrontier 2005/10/31
    Time::Piece
  • XML::RSS::SimpleGen - for writing RSS files - metacpan.org

  • GoldenPod - Summary [Savannah]

    highfrontier
    highfrontier 2005/10/27
    『GoldenPod is a podcast client (or podcast aggregator, or podcatcher, feel free to pick any name you want) written in Perl.』
  • [Perl] 高速&省メモリ perl-xs版 split モジュール

    大量の csv ファイルを読み込んで処理をするとき、カンマやタブ区切りのレコードを split や正規表現を使って文字列を分割して配列に入れて処理・・・なんて事は良くやります。mysql 等のデータベースに入っているデータなら速度的に問題が発生することは少ないのですが、どうしても csv のまま処理をしなければならない場合、文字列の分割のコストがバカになりません。 perl の split はかなり優秀で正規表現で分割するよりも高速に文字列を分割することが可能です。しかしながら、split でさえ用件によっては遅い場合もあります。実際、1 レコードあたり 300 カラム程度のデータが 20 万件ほど存在する場合、split で分割して配列に格納するコストが Pentium-4 2.8G + メモリ 2G ですら、30 〜 40 秒ほどかかってしまいます。 そこで、僅かながらではありますが、

  • Perlクックブックソースコードリンク集

    Perlクックブックソースコードリンク集 このページは「Perlクックブック―Perlの鉄人が贈るレシピ集(第1版)」に記述されているソースコードを簡単に参照できるようにするために作成したリンク集です。ネットワーク上に存在するPerl Cookbook(英語)のリソースに対してリンクを設定しています。 Perlクックブックの解説やソースコードの引用は私のウェブページ上には用意していません。必要であればPerlクックブックを購入するか、あるいはリンク先の英文の解説を読んでください。 1章 文字列 1.0 概要 レシピ1.1 部分文字列を取り出す レシピ1.2 デフォルト値を設定する レシピ1.3 一時変数を使わずに値を交換する レシピ1.4 ASCII文字をコード値に(コード値をASCII文字に)変換する レシピ1.5 文字列を1文字ずつ処理する レシピ1.6 文字列を単語または文字単位で逆

  • perl日本語ドキュメント全文検索

    cpan.jp 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • Jcode-2.00 was released

    弾さんによる、Jcode の version 2.00 がリリースされました。 Encode is now 2.10! Jcode is now 2.00!以下,Jcode 2.00 の要点のみをまとめます。 Jcode 2.0 より、お使いの Perl Version が 5.8.1 以降の場合は Encode の Wrapper として機能するようになりました。この場合、Jcode.pm は付属モジュールを必要としないため、 jcode.pl の場合と同様、Jcode.pm を Library Path に置くだけで利用できるようになります。それ以前のPerlをお使いの場合、Jcodeはver. 0.88と同じように機能します日語podが付きました!ということで、Encode Wrapper として、Jcode-0.8x 互換になります。 以前、Jcode を多用している弊社の社内技

    Jcode-2.00 was released
  • Vim を Perl 組込みにしてみる - にぽたん研究所

    VimPerl が組込めるというのを知った。 Perl に限らず色々組込めるんだけど、今までごくごく標準的に Vim を使っていたのでちょっと Perl を組み込んでみようかと思い、やってみますた。 #CONF_OPT_PERL = --enable-perlinterpこの行の # を取って有効にしてあげる。 んで、% make && make test && sudo make installして、build が完了したら、vim を起動し、:echo has('perl')と打って "1" と出たら組込まれていることになるそうです。 で、Perl が組込まれた Vim で何が出来るかというと、:pe[rl] {cmd}やら:[range]perld[o] {cmd}というのが出来るらしい。 例えば文中の全てのアルファベットを大文字にしたいとかいうわけわからんことがしたい場合、:

    Vim を Perl 組込みにしてみる - にぽたん研究所
  • 1