タグ

Perlに関するhtktyoのブックマーク (22)

  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
    htktyo
    htktyo 2009/11/01
  • 3行でできる超お手軽全文検索 - mixi engineer blog

    梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER

    3行でできる超お手軽全文検索 - mixi engineer blog
    htktyo
    htktyo 2009/06/22
  • Kanconvit - 簡体字と日本語漢字の相互変換ツール

    Kanconvit(カンコンビット)とは、 中国語の簡体字と日語の漢字を相互に変換するツールです。 日人が、中国語のページを日語の漢字で見ると意味が分かりやすくなります。 翻訳をするまでもない、こともあるかもしれません。 また、中国人が日語のページを見るときも同様かも。 そんな感じで、もしかしたらちょこっとお役に立つかもしれないツールです。 目次 文字変換ライブラリ「Kanconvit.pm」(Perlモジュール) テキスト変換ページ「Kanconvit CGI」 変換API「Kanconvit API」 変換ラッパーCGI「Kanconvit Wrapper」 参考文献 Kanconvit.pm 中国語の簡体字と日語の漢字を相互に変換する Perl モジュールです。 SYNOPSYS: use Kanconvit; my $ck = Kanconvit->new(); $jt

    htktyo
    htktyo 2009/06/15
  • 『モダンPerl入門』感想 - Kentaro Kuribayashi's blog

    id:lestrratさん期待の新刊『モダンPerl入門』をさっそく読みました。結論からいうととてもいいで、他の言語はよく知っててイケてるコード書きまくりだけどPerlはよくわからないというひと、もっとPerlのことを知りたいひと、昔やったけど最近の事情はどうも知らないというひと、様々な方にとってマストバイな一品に仕上がっていると思いました。もちろん、僕自身にとってもいろいろ知ることが多くて、とてもためになりました。 以下、自分が実践できてるかどうかをまったく度外視して、あれこれと書いてみました(たまには書評の真似事をしてみたいブーム)。 モダンPerl入門 (CodeZine BOOKS) 作者: 牧大輔出版社/メーカー: 翔泳社発売日: 2009/02/10メディア: 大型購入: 25人 クリック: 506回この商品を含むブログ (113件) を見る よいコードとは よいコードとひ

    『モダンPerl入門』感想 - Kentaro Kuribayashi's blog
    htktyo
    htktyo 2009/02/09
  • I, newbie » Perl初心者はどうやって勉強したらいいんですかね

    Perl初心者はどうやって勉強したらいいんですかね」というような質問を以前ある人から受けたのですが、ぶっちゃけ自分も大したコードは書けていないわけです。ずいぶん前に「プログラムも書けないで管理者と言えるか」みたいなことを言われて、「だったら書いてやろうじゃないの」と半ば反発しながら始めたのがきっかけで、毎日コードをガリガリ書いている職(それ偏見)には遠く及ばない程度の実力なわけです。それでも、Perl4の頃のコードを見ると書き換えたくなるとか、「hash-basedなobjectよりinside-outですよ」と知ったかぶりしてみたりする程度にはmodernなPerlコードを書いているつもり。 で、質問に回答できるほどの経験も実力もないけれど、どうやってここまで学んできたかを振りかえってみた。 最初に手に取ったのは、「初めてのPerl」。訳文が理解を妨げるので今は原著しか読まないけど、

    htktyo
    htktyo 2008/02/06
  • .emacs を晒すのが流行っているようなので、晒してみる - Hasta Pronto.org

    最近なにやら .emacs の perl の設定を晒してる人が多いので僕の晒しておくことにする。っといっても自分でゼロから書いた elisp はなくて、ほとんどが漁って拾って来た設定だったりします。ところどころ誰のを拾ったか書いてあったり、最近書かれてた設定に変えてあったりはするんですが、それは愛嬌ってことで。 ;;; ================================================================ ;;; ;;; Perl Programming Settings ;;; ;;; ================================================================ ;;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing P

  • Six Apart - Tech Talk Blog: Perl モジュールの作り方

    こんにちは。TypePad Engineer の重田です。 今年も YAPC::Asia Tokyo の季節がやってきました。今回も豪華メンバが参加するのでとても楽しみですね。 さて今回はYAPCにちなんでPerlモジュールの作成方法をご紹介します。 準備 Perl プログラマのバイブルである Perl Best Practices の Chapter17: Modules の Refactoring の冒頭で Damian Conway が言っています。 Place original code inline. Place duplicated code in a subroutine. Place duplicated subroutines in a module. さあ皆さんもそろそろ車輪の再発明に別れを告げてモジュール作りをはじめてみませんか? h2xs 少し前の書籍などでは h2

    htktyo
    htktyo 2007/03/07
  • PerlによるCSVファイルの高速集計 2:CodeZine

    open(OUT, '>result.csv'); open(IN1, 'enquate.csv'); # アンケートデータを1行ずつ処理する while(my $line1 = <IN1>){ # 1行を4つに分ける chomp($line1); my ($id, $ans1, $ans2, $ans3) = split(/,/, $line1, 4); # この行にマッチする顧客データを検索する my $name = ''; my $address = ''; open(IN2, 'address.csv'); while(my $line2 = <IN2>){ chomp($line2); my ($tmp_id, $tmp_name, $tmp_address) = split(/,/, $line2, 3); if($tmp_id eq $id){

    htktyo
    htktyo 2007/03/06
  • naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには

    Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。 サイボウズラボの奥さんによる Comet のサーバー周りの資料。すばらしい。C10K に対してどのようなアーキテクチャをとるのが良いかとの考察が特に勉強になりました。 また、問題や改善すべき点があれば、教えていただければ幸いです。 というので問題、改善すべきというわけではないですが Perl 周りの話で少し補足を。 資料中の「初心者へのオススメが PoCo::Server::HTTP でパフォーマンスが欲しい人には Sys::Syscall qw/:epoll/」の点。おそらく Perl でも epoll を使えますよというこ

    naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには
    htktyo
    htktyo 2007/02/24
    あとで
  • 最速インターフェース研究会 :: PerlでIEの履歴にアクセスする方法

    こんなんで出来た。 use strict; use Win32::OLE; use Data::Dumper; my $wshell = Win32::OLE->new('Shell.Application') or die "oops\n"; my $HISTORY_FOLDER = 0x22; my $history_dir = $wshell->Namespace($HISTORY_FOLDER); my $url_list = scan_folder($history_dir, []); print Dumper $url_list; sub scan_folder{ my ($folder, $ref) = @_; my $items = $folder->items; for(my $i = 0;$i < $items->count; $i++){ my $item = $it

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
    htktyo
    htktyo 2006/10/22
  • Perl5 で CGI! - Performance

    Perl の特徴の1つに同じ処理を色々な記法で実現できることが挙げられるでしょう。 然し、どのような記述をしても全く同じでしょうか? 分かり易さ、保守性、メモリ消費量などは書き方によって変わってくると思います。 ここでは、Perl の実行性能についてこだわってみようと思います。 測定マシン PC富士通 FMV DESK POWER S CPU Pentium 100MHz メモリ 48MB OS Windows95( 4.00.950a ) Perl のバージョン Win32 port Copyright (c) 1995-1996 Microsoft Corporation. All rights reserved. Developed by ActiveWare Internet Corp., http://www.ActiveWare.com Perl for Win32 Bu

  • [を] Text::MeCabは導入が楽

    Text::MeCabは導入が楽 2006-09-24-3 [Programming][NLP] Text::MeCabはCPANに登録されているMeCabのPerlモジュール。 - Daisuke Maki / Text-MeCab-0.13 - search.cpan.org http://search.cpan.org/~dmaki/Text-MeCab-0.13/ - きまぐれ日記: Text::MeCab が公開された http://chasen.org/~taku/blog/archives/2006/05/textmecab.html MeCab.pm [2006-02-25-4]よりもこっちの方がインストールが 手軽そうなので、サンプルプログラムに使おうかと。 インストール方法: MaCab体は事前にインストールしてあると仮定。 (取得はこちらから→

  • いまさら聞けない? 初心者向けPlagger設定覚え書き その1 - Muibrog

    Plaggerをいじってみて、とても便利でなにより楽しくてしょうがない。まだ「それPla」ってほどなんでもできるわけじゃないけど、RSSを配信してないサイトから欲しい情報を取り出すことはできるようになった。意外と初心者向けの手引き的なものが見つからなかったので、初心者向けにメモしておきます。まだ簡単なことしかわからないし、間違ったことも書いてあるかも知れないのでいろいろ試してみながら確認してください。 まずはFilter::EntryFullText(みんなEFTって呼んでるみたい)について。 企業ニュースサイト(新聞社とか)のトップページにあるような自分のサイト内へのリンクのあるHTMLをフィードと変換するときに使うFilter。下のはYOMIURI ONLINEの科学のトップページから科学ニュースを取り出すためのyamlWikipedia)。 author: Toshi custo

    いまさら聞けない? 初心者向けPlagger設定覚え書き その1 - Muibrog
  • no warnings 'uninitialized'なんてしちゃいけません - Charsbar::Note

    ストロング弾が変なことを言うのはいつものことですが、こいつは著書でtaintチェックしろと言う人の言葉とは思えませんなあ。 no warnings 'uninitialized'; これが一番基的な対策になります。 http://blog.livedoor.jp/dankogai/archives/50622749.html こういうのは対策とは言いません。こんなことをするくらいなら最初からuse warningsしない方がましです。perl 5.6以前の世界になりますが、これはDamianセンセもPerl Best Practicesの中で認めていること。日語版は持っていないので英語版から引っ張ってくると(p.432) Note that it may still be appropriate to comment out the use warnings line when you

    no warnings 'uninitialized'なんてしちゃいけません - Charsbar::Note
  • suVeneのあれ: PlaggerとSubscription・CustomFeedの概要

    2006年09月02日 PlaggerとSubscription・CustomFeedの概要 Perl の勉強がてら Plagger のソースを読んでみた。 ソース張っつけてごちゃごちゃ書くのもあれなので、大体の流れを絵にしてみた。 昨日、Plagger について何となく説明してみたけど、Pluginといっても大まかに分類がある。 簡単に言うと入力系、加工系、フィルタ系、出力系(通知系)があり、この図は主に入力系の話。 Plugin の作り方は、自分の register ってメソッドで、$context(plaggerのインスタンス) の register_hook に対して、エントリーポイントとコールバックをフックする。 入力系の簡単な流れは、subscription.load で、基礎となるデータを持ってきて、customfeed.handle でリンクされる詳細データを加工したりする

    htktyo
    htktyo 2006/09/03
    Plagger のソース解説
  • Kazuho@Cybozu Labs: Perl Monger への道は遠い

    « Lingua::JA::Summarize 0.02 | メイン | Lingua::JA::Summarize 0.03, 0.04 » 2006年05月02日 Perl Monger への道は遠い Lingua::JA::Summarize のリリースで、弾さん、Charsbar さんをはじめ、いろいろな方からアドバイスをいただきました。ありがとうございます。そのうち、 Perl の書法について学んだことを、忘れないうちにまとめておこうと思います。 1) Emacs の設定 cperl-mode.el は 4.32 が良い? CPAN からダウンロードしてきて、 /usr/share/emacs/site_lisp あたりに放り込む。 .emacs は おいぬま日報(不定期)さんのをコピペ。 2) クラスのフィールドの扱い まず、デフォルト値をハッシュテーブルに定義しておいて、そこ

  • [を] Perlで素数判定と近隣素数の探索

    Perlで素数判定と近隣素数の探索 2006-08-15-2 [Programming][Algorithm] ハッシュのサイズを決める際に、 ある数に近い素数が欲しいと思うことがあったりします。 例えば「1000000に近い素数が欲しい!」など。 ということでPerl版の素数判定&近隣素数探索プログラムです。 素数判定は下記を参考にしました。 - 素数判定 - Wikipedia http://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0%E5%88%A4%E5%AE%9A 以下、ソースと実行例。 ソース(prime.pl): #!/usr/bin/perl use strict; use warnings; my $n = shift @ARGV; my $prime = is_prime($n); if ($prime) { p

  • Plagger (へぼへぼプログラマ日記)

    仕事が忙しくて連日深夜まで作業していて心が荒廃してきたので、心の潤滑油として 落ち着いたらとおもっていたPlaggerを少し探ってみた。 とりあえず公式サイトに置いてあるYAPC::AsiaのSlideを見ながらAudioを聞く。 う~んわくわくする。 megabbsとなにか絡んだhackができないか思案中。 とりあえず今日はそんな夢を見ながら寝ます。 以下分からなかった単語をメモ。後で調べる。 YAML OPML POE ※どうでもいいネタ YAPCって「やっぷし~」って発音するんだね。 Gmailって便利そ~アカウント欲しいな

  • Elementary, ... Googleで「はらへった」と検索するとピザが届くようにするまで

    日曜は、Plagger を初めてちゃんとさわってみました。 Plagger の概略は、miyagawaさん自身による このYAPC::NAのPDF がわかりやすいです。要するに、 『ネットからフィードを集める → (ごにょごにょする) → 出力する』をするものです。 この「集める」や「ごにょごにょ」や「出力」の部分に、ブロックを重ねるようにしてモジュールを重ね、自分の好きな起承転結にできるという点が実に Perl ぽい着想です。風がふけば桶屋がもうかるフレームワークと呼んでいます。 Subscription::Bloglines / Publish::Gmail まあ、まずは普通に使ってみようということで、「Bloglines から集める」→ (エントリごとに分割、RSS 広告除去、文の内容をできるだけ収集→ Bloglines、Delicious へのリンク付与、はてブ登録数付与) →

    Elementary, ... Googleで「はらへった」と検索するとピザが届くようにするまで
    htktyo
    htktyo 2006/07/25
    これは.