Perlの最近のブログ記事

Acme大全2009読み終わった。
印象に残った面白モジュールをいくつかピックアップしてみる。
Acme::Spinner
Acme::Spinners
Acme::Spinnerは以前紹介したくるくる回るハイフンの実装。\r(キャリッジリターン)使っている点も一緒。
Acme::Spinnersはこれのフレームワーク版。こっちはソースを見ると\rじゃなく、\b(バックスペース)で実装しているみたい。


Acme::ReturnValue
モジュールのリターン値が1ではないユニークなモジュール(Perlモジュールのリターン値は習慣で1が多く使われる)を探すモジュール。
早速入れて探してみようと思ったが、既にAcme::ReturnValue findingsにまとまっている。42多いなー。


Acme-PricelessMethods - search.cpan.org
is_machine_on やら is_true_true といった変なメソッドをちゃんと実装したモジュール。

blogが吹っ飛んで夏休みの思ひ出が書けなかったので載せておこう。

acme_2009_book.jpg

Perl本が出ると聞いて、この間、初めてコミケに行ってみた。暑くて死ぬかと思った。

Perlの世界でAcmeという名前がつくモジュールは基本的にネタモジュールだ。
Re: What does the "Acme" category represent? - nntp.perl.orgでも

Acme:: modules are nonsense modules, which though sometimes are
technically interesting, may not be intended for serious work.

お仕事じゃつかえねーよ!と書かれている。

最近なら誰得と表現した方がピッタリかも。それにしてもよくもまぁこれだけ調査したなぁと思う。trivia好きにはたまらん本だね。

Perl本購入後は高校のメンバーと合流して、店番やったり、その後飲んでいたりしていた。

Perl Hacks読了

| コメント(0) | トラックバック(0)

買ったの一年以上前ですか...ずいぶん長くかかったなぁ(´Д`;)

本書を読み進めてまず思ったのはCPANの海はどこまでも広く、そして深いと言うことだろうか。
HACK#90以上は知らないことばっかりですよ。(いや、#90未満でも知らなかったモジュールがたくさんあったけど)


あとPerlという言語の周りを囲っている垣根の低さを改めて実感した。

変態モジュール総覧より

これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。自分の足をどうやって撃ちぬくか、よく考えてからつかってください。

使う箇所は限られるが、やはりそれ自身を拡張できる言語というのは面白いモノだ。仕事で使うことはもう無いだろうが、趣味ではこれからもやっぱり使っていきたい言語だ。

WWW::NicoVideoという面白そうなモジュールがCPANに上がってるなぁと思い、ソース読んでたらモジュールの終端が"Ritsuko";で吹いた

作者はきっとアイマス好きに違いない。

--解説
Perlのモジュールはほとんどと言っていいほど大抵の場合
1;
で終わってる。

本当はreturn 1;なんだけど、Perlの場合、最後に評価したものが返り値になるので、実は式さえ書けばreturnは不要なのだ。だから省略して 1;と書く。

で、なんで1を返すのさと言うと、Perlで他のソースファイルを利用する場合に使うuseとrequireはファイルの終端を評価して偽だったら読み込み失敗という処理が入る。0や空文字、undefでなければ偽とみなされないので慣例的に1が使われている。

評価して偽にならなければなんでもいいのだが、実際に1以外を使用してる人は初めて見たわー。

【ニコニコ動画】グニャラは大変なPerlをDISっていきました
Perlネタ満載。「スレッドつかったらこわれちゃう」にワロタ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちPerlカテゴリに属しているものが含まれています。

前のカテゴリはJavascriptです。

次のカテゴリはVB.NETです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3