タグ

perlに関するheitattaのブックマーク (41)

  • 現代的な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入門ゼミ
  • Perl で 8ビット CPU を作る - naoyaのはてなダイアリー

    CPU を作る、と言ってもハードではなくソフト、仮想機械です。 2001 年から UNIX USER で連載されていた西田亙さんの「gccプログラミング工房」。いまさらながら、バックナンバーを取り寄せて初回から順番に読んでいます。とてもためになる連載です。 この連載中で第10回から数回に分けて開発されていた octopus という 8 ビット CPU の仮想機械があります。オリジナルは C 言語で書かれていたのですが、その設計を見て、これは他の言語でも作れるのではないか、と思い Perl に移植してみたところなんとか動作させることができました。以下の URL にコードを公開します。(西田さんに確認を取ったところ、オリジナルのソースは Public Domain とのことでした。オリジナルは http://www.skyfree.org/jpn/unixuser/ からダウンロード可能です。

    Perl で 8ビット CPU を作る - naoyaのはてなダイアリー
  • ブログが続かないわけ | Web::Scraper 使い方(超入門)

    3年前にこのに出会って、僕はスクレーピングの虜になった。 おかげで正規表現をたくさん書く機会が得られたし、CPANのモジュールともたくさん触れ合うことができたし、さらに自分自身でも構造化されたHTMLを書く習慣も身についた。 ただ、やっぱり、スクレーピングは簡単ではない部分もたくさんあると思う。文字コードについても意識しなければならないし、なにより正規表現で必要な部分を抽出することそのものが結構骨のいる作業だ。HTML::TreeBuilder を使った方がいいのか、それとも正規表現だけでやったほうが楽なのか。そんなことを考慮しながらコーディングして行く。そこがスクレーピングの楽しいところでもあるのだが、そこがスクレーピングの敷居を高いものにしていることも否めない。 そんな、愛らしくもあり憎たらしくもあるスクレーピングを簡単にやってしまうのがこのモジュール、Web::Scraper だ。

    ブログが続かないわけ | Web::Scraper 使い方(超入門)
    heitatta
    heitatta 2007/10/14
    Web::Scraper の使いかた
  • Plagger for Mac

    Plagger を Mac で使うページ。 Plagger を簡単にインストールする Plagger 体と、Plagger が依存している CPAN モジュールをまとめました。 コンパイルが必要なものも Universal Binary としてコンパイル済みなので、 tarball を展開するだけで使えます。 対応している環境は Mac OS X 10.4 (Intel, PPC) です。 % tar zxvf plagger-0.7.17-1.tar.gz ... % cd plagger-0.7.11-1/ % ls -F bin/ cpan/ % (config.yaml を書く) % ./bin/plagger -c config.yaml 動作しないプラグイン 以下のプラグインについては、 依存している CPAN モジュールを同梱していないので、 そのままでは動きません。 Ag

  • http://feather.perl6.nl:8080/cgi-bin/runpugs

  • 日本の総理大臣の演説をタグクラウド化: blog.bulknews.net

    の総理大臣の演説をタグクラウド化 US Presidential Speeches Tag Cloud が面白かったので日の総理大臣版を3分ハッキング。コード自体は15分くらいでかけたんだけどデバッグやらデータの解析やらに時間がかかってトータルでは2時間くらいか。 Japanese Prime Minister Speeches Tag Cloud 首相官邸ホームページ からリンクをたどって HTMLをダウンロード、HTML::TreeBuilder で as_text して Text::MeCab にわせ、名詞(代名詞などをのぞく)の頻度を YAML データとしてつっこみ、HTML::TagCloud でタグクラウド化しました。スライダーの JS などは元の US Presidential のほとんどパクリです。 IE だと行間がかなりつまってるのは HTML::TagCloud

    heitatta
    heitatta 2006/11/14
    何かもっと面白そうな応用もありそう。
  • [を] Perl でのデバグ用のダンプ

    Perl でのデバグ用のダンプ 2006-09-15-4 [Programming] 「Perl Hacks」よりデバグ用のダンプの話。 Data::Dumper をよく使っていたが、よりデバグに適したモジュール Dumpvalue を知った(p.182, HACK#71)。よさげなので活用するつもり。 以下、自分用メモを兼ねたサンプルコードと実行例: % cat dumpvalue-test.pl #!/usr/bin/perl use strict; use warnings; use Dumpvalue; my $d = Dumpvalue->new(); my @array = ({foo => ["One", "Two"], bar => "Hello"}, {foo => ["Hi", "Hu", "Mi"]}, {foo => ["ABCD", "EFG"], ba

  • antipop2.0: del.icio.us からはてなブックマークへデータを移行する

  • iandeth. - Spreadsheet::ParseExcel - ごくごく普通の使い方メモ

    iandeth. Perl, Flash ActionScript, MySQL, Movable Type, システム開発 - そんなテーマのサイトdeth. sample: エクセルからデータを読みとるparseExcel.pl #!/usr/bin/perl -w use strict; use Dumpvalue; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::FmtJapan; our @COL_DEF= qw( pid name stand_name ); our $PKEY = 'pid'; our $FILE = 'jojo.xls'; my %dupChk; # for checking duplicate records my $dv = Dumpvalue->new; # for data dump

  • Unicode::Normalize で遊ぶ - daily dayflower

    Unicode の規格では,文字の合字(リガチャ等)等を統一的に扱えるように,「正規化」という処理が仕様として定まっています。この正規化処理のうち「互換性分解」という処理を行うと副作用として半角カナを全角カナに変換できます(逆に全角カナ→半角カナはできません)。 #!/usr/bin/perl use strict; use utf8; use Encode; use Unicode::Normalize; my $src = 'ポンジュース'; my $dst = Unicode::Normalize::NFKC($src); print Encode::encode('utf8', "${src} => ${dst}\n"); # OUTPUT is: ポンジュース => ポンジュースUnicode の正規化についてはperl5.8のUnicodeサポート および http:/

    Unicode::Normalize で遊ぶ - daily dayflower
  • ActivePerl で PerlScript と Google Maps: blog.bulknews.net

    ActivePerlPerlScript と Google Maps Google Maps を ThinkPad 加速度センサーで操作 というナイスなハックをやってみたわけですが、ちょっと技術的な部分を解説。 まず ThinkPad の加速度を読む部分は、Google で検索すると、 http://www.hirax.net/misc/AccelerometerThinkpad/AccelerometerThinkpad.h http://blog.netswitch.jp/files/leap-frog.zip あたりのコードが見つかります。C で書くと、 if( !DeviceIoControl( hFile, 0x733fc, NULL, 0, // via IOCTL(0x733fc) (void *)&AccelerometerData, 0x24, &ulRead, N

  • DBD::Oracle に激遅のコードが混在している件について

    えーっと、ここ数日やっている DBIx::Class 関連なんですが、DBIx::Class::Schema::Loader::Oracle を作ってみたものの、Oracle の場合、なぜか _load_relationships が異常に遅いんですよ。でかなり深追いしてみました。 DBIx::Class::Schema::Loader::Base->_load_relationships あたりが遅いのでメソッドコールを深追い ↓ DBIx::Class::Storage::DBI->columns_info_for の $dbh->column_info そのものが遅いことを突き止める。 eval { my $sth = $dbh->column_info( undef, undef, $table, '%' ); $sth->execute(); while ( my $info =

  • たらいを回すならHaskell : 404 Blog Not Found

    2006年04月07日22:09 カテゴリLightweight Languages たらいを回すならHaskell たらい回し関数、またはtakと呼ばれる有名な関数が存在する。 C言語による最新アルゴリズム事典 奥村晴彦 同書をお持ちの方は、185ページに乗っている。 実はこれ、Haskellの売り込みには最高の関数なのだ。 ちなみに、これ最後にyを返すバージョンとzを返すバージョンがあるようで、それぞれtakyとtakzと呼ばれている模様。ここではtakyの方を採用。 まずは、私のnative tongueとも言えるperl。 tak.pl #!/usr/bin/perl use strict; use warnings; sub tak{ my ($x, $y, $z) = @_; ($x <= $y) ? $y : tak(tak($x-1, $y, $z), tak($y-1,

    たらいを回すならHaskell : 404 Blog Not Found
    heitatta
    heitatta 2006/05/24
    たらいまわし関数の実装あれこれ
  • Perl XMLでencoding='Shift_JIS'や'euc-jp'を使う

    by Hippo2000(2000/7/12) Perlを使って日語の入ったXMLファイルを処理しようとするさい、これまではencodingをどうするかというのが1つの悩みでした。 私は好きなマッピング・ファイルを"Shift_JIS"、"euc-jp"などのためのマッピング・ファイルにするためのスクリプトmkenc.plを作成しました。 何はともあれという形で公開します。ご意見などありましたらメールをいただきたいと思います。 目次 1. はじめに 2. ファイルとその内容 3. 使い方 1. 背景 村田真さんの"Japanese_Encoding.msg"にもあるように、現バージョンのXML::ParserとXML::Encodingには"Shift_JIS"や"euc-jp"という文字セットためのマッピング・ファイルは入っていません。 このために、XML::Parserを利用す

  • Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found

    2006年04月20日00:29 カテゴリLightweight Languages Perlの駱駝のこぶにはMonadも入ってる PerlLambda Calculusが入っているというのは以前何度か紹介した通りだが、実はMonadも入っているのである。そして、皆さんも知らない間に使っているのである。 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」 「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 それでは、世界で一番Monadが簡単に使える言語(0番はPerl6!)での実例をいくつかお見せする。 まずは一番簡単な例から。 use strict; use warnings; package Tie::Verbose; use Tie::Scalar; use base 'Tie::StdScalar'; sub TIESCALAR{ my $

    Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found
    heitatta
    heitatta 2006/04/29
    3つ組 Monado と Perl
  • Kazuho@Cybozu Labs: キーワード抽出モジュールを作ってみた

    « IIS のログを tail -f | メイン | Lingua::JA::Summarize 0.02 » 2006年04月26日 キーワード抽出モジュールを作ってみた 一昨日、同僚の竹迫さんに、文書内からのキーワード抽出技術について教えてもらっていた時、わざわざ TF-IDF注1 用に別のコーパスを用意しなくても、MeCab だったら生起コストを辞書内に持っているんだから、それを使えばいいのではないか、という話になりました。 竹迫さんがその日のうちに作ってくれたプロトタイプで、アルゴリズムの改善とパラメータのチューニングを行ったところ、十分な品質が出そうなので、書き直して公開することにしました。 普通の Perl モジュールなので、 perl Makefile.PL && make && make install すれば使うことができます (15:50追記: すみません。 MeCab

  • http://www9.ocn.ne.jp/~ymt/perl6/rules.html

  • yaml-mode-0.01 - simple major mode to edit YAML for emacs

    Catalyst などで config を書く際に YAML を使って書いたりしているのですが、その他にもちょろっとした設定などを簡単でわかりやすいという理由から YAML を使って書くことが増えてきました(自分だけ?)。 自分は YAMLemacs で編集しているのですが、 yaml-mode ってあるのかなと思い、いろいろと探してみたのですが残念ながらみつかりませんでした。 ないんだったらせっかくなので elisp の勉強もかねて自分で作ってみようということで、とりあえず色を付けるだけのものを作ってみました。ただまだ色の指定すらできません…。単純にカラフルな YAML が見られるだけです。 また、 YAML の文法を全部把握しているわけではないので、カラフルになるべきところ(?)でならないこともまだまだあったりすると思います…。 Download ダウンロードは下記からできます。

  • Jifty::Manual::Tutorial - Zero to Jifty in a Jiffy

    題名 Jifty::Manual::Tutorial - あっという間にゼロからJifty 説明 このチュートリアルを読めば、Jiftyではじめてのアプリケーションを構築するにあたって知っておくべきことはすべてわかるはずです。 使い方 必要なもの ここでは――少なくともこのチュートリアルの執筆時点で――インストールしておくべきものを紹介します。 Jiftyのインストール そんなに構えなくても大丈夫。私たちはDRY (Don't Repeat Yourself) の原則をとても大事に思っていますし、だからこそPerlやCPANを愛しているのですから。JiftyはCPANのすばらしいコードをたくさん利用しています。直接依存しているCPANパッケージは全部あわせて60にもなりましたが、そのほとんどはクロス・プラットフォームなピュアPerlパッケージですから、Perlを利用できるプ

  • SlidesList - YAPC::Asia 2006

    Put links to slides of YAPC::Asia talks. 3/29 IntroductionToPugs by AudreyTang (also in english) Module::Compile by IngyDotNet JSAN, Ajax, and Perl by DaveRolsky mighTyV.com by Leon Brocard (acme) Ruby on Perl(s) by Matz Plagger - RSS/Atom remixing platform (file not found) by TatsuhikoMiyagawa Jifty! by Jesse Vincent cheap web hosting Babel 17 computer language by MasayoshiTakahashi 3/30 Marry pe