Perl

文字のインクリメント

Perlだとmagical inclementという名前です。 Python In [39]: chr(ord('A') + 1) Out[39]: 'B' Perl $ perl -e '$alp = 'a';for (1 .. 52) {print $alp++}';echo abcdefghijklmnopqrstuvwxyzaaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaz Java publ…

YAPC::ASIA 2007 TOKYOのチケット買った

YAPC::Asia 2007 Tokyo - April 4-5 2007 (Japanese) 朝、唐突に思い出したので買いました。4月なら行けるはず。Lコードは38050。

Perlプログラミング救命病棟 読了

Perlプログラミング救命病棟 (Programmer’s foundations)作者: ピーター・J・スコット,トップスタジオ,伊藤直也出版社/メーカー: 翔泳社発売日: 2005/09/06メディア: 大型本購入: 10人 クリック: 279回この商品を含むブログ (71件) を見る Perlに触れてたこ…

PerlとRubyでのロードできるライブラリを確認する方法

「あれー、あのライブラリ使いたいけど、このサーバってどんなライブラリが入ってたっけー?」という状況によくなるので備忘。 Perl find `perl -e 'print join(" ", @INC)'` -type f -name "*.pm" Sorryに書いてあるののままです。 Ruby find `ruby -e 'pri…

SVK 2.0

via http://d.hatena.ne.jp/tokuhirom/20061230/1167443019 2.0出てたんすね。 http://search.cpan.org/src/CLKAO/SVK-v2.0.0/CHANGES バグフィックスも機能追加もパフォーマンスアップもいろいろされてるけど、現状に問題ないのとPerlモジュールの更新がち…

モジュールいろいろ

CGI::ApplicationとかIO::Dirを試してみたり、CGI::Carp::DebugScreenとCGI::Application::Plugin::DebugScreenを使ってみて、キレイなスタックトレースをみてニンマリしたり。 ちょっとスッキリ。

EPICがバージョンアップしてる!

EPIC - Eclipse Perl Integration もうすっかり動きがなくて、死んだプロジェクトかと思ってたけど、2年振りにバージョンアップして、stableの0.4とtestingの0.5が出てるよ!すごい! MacBookのEclipseに入れて動かしてみたけど、フォーマットができるだけで…

WindowsでPlagger でも失敗した…

しげふみメモ : Windowsで簡単にPlaggerをインストールする方法 ppmでカンタンに入れられて小躍りしたんですが、ActivePerl5.8.6上で動かしたら最後のPublishのところでプロセスが死にました…orz。logレベルをdebugにしても、特に何も出ず。 何が原因なんだ…

WWW::Mechanize 練習

せっかくPlaggerを入れてみたので、WWW::Mechanizeを試してみた。 わー、すげー楽だー。けど、やっぱり複雑な遷移を辿ってのパースはちょっとめんどくさいなあ。 まー、練習してみよう。

Plagger インストール 完了

基本的に、ページが見つかりませんでした | tsukihito.dip.jpの通りに。感謝。 Budle::CPANは前に入れてたと思ってたけど、動作してなかったのかな。 で、とりあえず、LivedoorReader2CSVでPlagger動いた。キラーユーズらしいLivedoorReader2Gmailを試そうか…

Plagger インストール失敗

うへー、EncodeDetectのインストールに失敗してる。forceの力を借りたのに。疲れたからもう寝る!続きはまた明日。 LD_RUN_PATH="" env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib EncodeDetect.o -o blib/arch/…

Perlでメール送信 ベタベタ版

Perlでメール送信 - Bouldering & Com.の続き。 けっきょく、よくわからんのでベタベタな書き方で書いてました。 #!/usr/local/bin/perl -w use strict; use warnings; use Encode; use Jcode; use Mail::Header; use Mail::Internet; eval { my $head = new…

Class::DBI::Pgでset_up_tableでエラー

Class::DBI::Pgを使いたかったんですが、set_up_tableしたところで以下のようなエラーが。 DBD::Pg::st execute failed: ERROR: more than one row returned by a subquery used as an expression [for Statement "SELECT indkey FROM pg_catalog.pg_index W…

Perlでメール送信

しょーもない内容だけど、久しぶりにPerl。 Perlでメールを送るのに、前に既存ソースで見たからっていうだけの理由で、Mail::HeaderとかMail::Internetを使ってるけど、今風の、ナウな書き方ってどんなんなんだろ。 #!/usr/local/bin/perl -w use strict; us…

CPANのオフラインモード

内から外が見えないサーバがけっこうあって、そういうサーバにCPANモジュールを入れるときはひとつひとつ、configure, make, make installしてたけど、CDBIとか、ましてやSVKを入れるときにいい加減ウンザリしたので、調べてみたら、nDiki: 野良パッケージと…

YAPC::Asia 2006 Tokyo

YAPCって、「ヤプシー」って読むのか!「ヤプク」って読んでたよ!!CPANは「シーパン」であってたけど。 Introduction to Pugs すごすぎて、なんだかすごいのかすごくないのか、よくわかりませんでした! Perl6を実装するのに、なんでHaskellを使おうと思っ…

DuckTyping

たぶん、PerlでのDuckTypingはこんなん。 #!/usr/bin/perl package Duck; use strict; use warnings; sub new { my $pkg = shift; bless {@_}, $pkg; } sub quack { 'Gahhh'; } package Swan; sub new { my $pkg = shift; bless {@_}, $pkg; } sub quack { '…

クロージャとクラス

こんなんをやると変数を隠蔽しつつ、横断的に変数をもてるけど、 my ( $inc_cref, $get_counter_cref ) = var_share_closure(); $inc_cref->() foreach ( 0 .. 5 ); print $get_counter_cref->() . "\n"; sub var_share_closure { my $count = 0; return ( s…

Effective Perl その3

第5章 リファレンス わかりやすかったので覚書きはなし。 40項 まとめて大量のデバッグをしない 何事も「鵜呑み」にしてはならない どうにもうまくいかないバグに対したら、トイレに行くとか、休憩をとるとか、体操をするとか、帰って明日やるとか、視点の変…

Effective Perl その2

10項 区切り記号の使いすぎを避ける &&とand、||とorは等価じゃないのか。リスト演算子、代入、結合を囲むかっこを省略できるっていうだけの違い? 14項 数限りなきソート術を学ぼう Orcish Maneuver 名前がイカス。 普通にソートを書くとこんなんですが、 @…

Effective Perl

これも読み始めました。 Effective Perl (ASCII Addison Wesley Programming Series)作者: ジョセフ・N.ホール,ランドル・L.シュワォーツ,Joseph N. Hall,Randal L. Schwartz,吉川邦夫出版社/メーカー: アスキー発売日: 1999/03メディア: 単行本購入: 5人 ク…

プログラミングPerl3版

先輩に借りて読み始めてみました。 Pseudo HashってLinkedHashMapっていうかOrdered Hashみたいな感じかなーって思ったけど、IFが微妙だなーと思いつつ実行してみたら、5.8だと非推奨なんですね。この時点でこれ以上の理解への努力を止めました。 プログラミ…

YAPC

チケット買いました。

続・クロージャ

クロージャの定義って、とか、Martin Fowler's Bliki in Japanese - クロージャを読むと、「生成側と値の受け渡しができる無名クラス」っていうふうに理解したんだけど、あってるんかいな。 やっぱり自分でプログラムに入れて使ってみないとわからないものな…

型グロブ

無名オブジェクトと、クロージャについては今日理解できた気がするんで、あとは型グロブだな。 型グロブについてはぜんぜん勉強してねー。

無名ハッシュとか

my $hoge = +{ 'alpha' => 'foo', 'beta' => 'bar' }; みたいに無名のオブジェクト?が作れるけど、無名ハッシュとかって、もうその時点でリファレンスになってるのね。無名で作成したもの自身を返すようなのでもいいような気がするけど。

クロージャ

via Perl のクロージャ - naoyaのはてなダイアリー 言語のパワーとしてみたら ここに書いてあることは理解できたんですが、クラス変数が使えないPerlでOOをやるための、苦肉の策のようにしか見えない。バッドノウハウ。 関数の自動生成も、すごいんだけど他…

Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー

今のPerlレベルは6くらいまできたかな。正規表現がキッチリ理解できればレベル7まで上がれそう。 けど、この表ってなんか中身が古い気がする。OOで再利用とか書いてるし。 クロージャ、型グロブについて書いてないのも気になるニャー。

PerlでLinkedHashMap

みたいなのって、ないのかニャー。 配列にハッシュをいれるとかで対応してるけど、メンドクセー。 "LinkedHashMap"とかでCPANを漁っても出てこないし、"order hash"だと抽象的過ぎてみつかりません。自分で書けばいいのか。Perlでのオブジェクト作成の勉強と…

via きよへろのPerlコードをリファクタしようのコーナー No.2 - naoyaのはてなダイアリー JavaだとCalendarクラスで普通に日付の加減算ができるから、これが標準に入ってないのが不思議。僕は甘やかされて育ったので、こういうのじゃないと日付を扱いたくな…