Perl

IRCクライアントでMyはてなやRSS FeedをウォッチするためのIRCdを書いた

はてなのお気に入りアンテナをTwitter Clientで見れるゲートウェイ「Hatetter」作りました と同じようなことを,Twitterクライアントではなく,IRCクライアントでやりたかったのです.というわけで,Pigというのを書いてgithubにあげてあります.http://gith…

Kansai.pmでコルーチンについて発表してきた

Kansai.pm#11にて「Perlで学ぶコルーチン」という発表をしてきました.だいぶ前のRuby勉強会でRuby 1.9のFiberをみてPerlでもいろいろやってみていたので,その時しらべたことを中心にぐだぐだとしゃべりました.Perlで学ぶコルーチンView more presentation…

Remedieでハルヒちゃん見…れなかった

Remedieでハルヒちゃんを見ようと思って,YouTubeのKadokawa Anime Channelを登録して表示しようとすると Not an ARRAY reference at /Users/yohei/lang/perl/5.8.8/lib/perl5/XML/Feed/Format/RSS.pm line 256.と言われて動画が見れず悲しかったので,原因…

CoroはCoroutineのCoro - PerlでFiber

Ruby勉強会@関西でFiberについて勉強してきた - はこべブログ ♨でPerlでもGeneratorをうまく書けるモジュールがないかなーとこぼしていたところ. perlではCoroでほぼ同じ事ができるが、どちらにしろCoroを使う利点は1個1個をresumeすることじゃなくて 非同…

Parse::RecDescentでJSONをパース

JSON::Hatchet の構文解析子 - Tociyuki::DiaryのJSONパーサがすっきりと書けていたのものだから,ちょっとうちもJSONパースしたくなってので書いてみました.といってもLL構文のパーサを1から書くのも芸がない感じだったので.Parse::RecDescentというCPAN…

IO::MooseでもSlurpできるよ

JPerl Advent Calendar 2008でファイルをslurpする方法を紹介したけど,IO::Mooseっていうモジュールもあったんだねぇ. #!/usr/bin/env perl use strict; use warnings; use Perl6::Say; use IO::Moose qw(File); my $content = IO::Moose::File->new( file…

perldoc perlxstutを読んだときのメモ

正月番組をみながら[http://perldoc.perl.org/perlxstut.html#EXAMPLE-3:title=perldoc perlxstut]を読んだ.メモをとったのでせっかくだからはっつけておくよ.ちょっとメモがはしょり気味なのと,うちの理解があやしいところがあってこころもとないですが…

XS(とC++)入門したい

XSを使ってみたい.ついでにC++も勉強したい.とりあえず今日はShibuya.pm #9 のXSトークを何個か見てみた. PerlからXSの世界をながめてみる まずは,PerlからXSの世界をながめてみる.整数値は一度文字列化すると文字列表現がキャッシュされる.Devel::Pee…

XSモジュール用のModule::Setupのflavorが公開されてた

比較的モダンなXSモジュールのテンプレートジェネレータがModule::Starter::XSimpleしかなくて,ちょっとがっかり*1していたら,ついさっきModule::Setup用のXSなFlavorが公開されてた! http://blog.clouder.jp/archives/001094.html個人的にすばらしいタイ…

ファイルの変更を監視してmake

omakeを使うと楽ちんにファイルの変更を監視して自動でmakeできて便利! texで論文書くときとかには非常に役に立ちますね.(参考: OMake つかって LaTeX コンパイルしたら簡単すぎて身長が5cm伸びた - 日記を書く [・w・] はやみずさん)でも,omakeだと,いま…

JPerl Advent Calendar 2008にTipsを書きました

12月17日担当のantipopさんからまわってきていたJPerl Advent Calendar 2008の18日目を書きました.(http://d.hatena.ne.jp/tokuhirom/20081216/1229387324)Perlはファイルの中身を全部読み込むのにやたらイディオムがあったりするのでそれについて書いてみ…

正規表現のoオプションにPerlの暗黒面を見た

Perlの正規表現のoオプションてご存じでしょうか? うちはあまり使ったことがなかったのですが,効率のよい正規表現処理を行うときには便利なオプションです.oオプションを使うと,その正規表現のコンパイルが1回しか行われなくなります.たとえば,正規表現…

より自然にRubyっぽくリストを書けるモジュールを書いた

PerlのARRAYをRubyのArrayっぽく扱うためのモジュールがすでに三個くらいあって大人気ですね. List::RubyLike List::Rubyish List::Enumerator こういったモジュールを使うと, my @elems = map { $_ ** 2 } grep { $_ % 2 == 0 } (0..100); my $sum = 0; f…

PerlQuizにこたえてみた

Perl Quiz - package名について - Islands in the byte stream #!perl -w use strict; use Test::More 'no_plan'; sub f{ # 何かする bless({}, '::Foo'); } f(); is ref(bless({}, 'Foo')), 'Foo'; __END__ うわあ,適当にそれっぽく書いてみたら失敗したよ…

CPANパッケージをつくった時のメモ

WebService::Hatena::Diary 0.01リリース/わーい,CPAN Authorになったよー - はこべブログ ♨ でCPANパッケージをつくった時のメモをおもむろに公開.なんか変なとこあったらおしえてくださいな みたいな.書いてから気づいたのですが,Makefile.PLを書こう …

WebService::Hatena::Diary 0.01リリース/わーい,CPAN Authorになったよー

今日,CPANにWebService::Hatena::Diaryをリリースしました.というわけで,これでうちもついにCPAN Authorです.わーい.これまで,ちゃんとしたパッケージを作ったこと無かったので,PODとかMakefile.PLとかをきちんと書くのがはじめてで,何かと戸惑いま…

MapReduce::Liteで手軽に分散処理

「Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)」を読み終えたので,id:naoyaさんの作ったMapReduce::LiteでMapReduceを試してみた.以下は,MapReduce::Liteを使ってみたメモなど.あくまでもメモなので,くわしくMapReduce…

Catalystでアクションが受け付けるメソッドを制限

Railsだと,あるアクションはPOST以外は受付たくないってときには, class NancharaController < ApplicationController verify :method => :post, :only => [ :create, :delete ], :redirect_to => { :action => :index } def create # createの処理 end # …

詳説 Perl in ゆの

http://subtech.g.hatena.ne.jp/miyagawa/20080708/1215473551絶望した!rubyと比較したときのperlの難解さに絶望した! #!/usr/bin/perl use strict; # ここはpackage main; BEGIN { # プログラムのはじめにサブルーチンを定義.なくても動いたりする # ()…

型がクラスの時はsubtypeじゃなくてclass_typeが使える.

先週のKansai.pm #9でやったMooseプレゼンの補足です.このスライド,いろんな人に++されたりしまして,結構うれしかったYO.で,このスライドに関して,某IRCにてアドバイスをもらったりしました. 11:44 nothingmuch: hakobe: subtype Foo as Object is be…

Kansai.pm NOW

本日は第9回のKansai.pm tech talkで,会場に来ています.人がおおすぎて立ち見がでていますよ!僕もこれからMooseについて発表するのでよろしくお願いします.

Kansai.pm #9で発表してきました

第9回のKansai.pm tech talkで発表してきました.実用Mooseという題目でやるつもりでしたが,Mooseはまだまだ勉強することがおおくて,ぜんぜん実用的な話ができそうだったので,初めてのMooseという題目に変更して発表してきました.資料をアップロードしま…

perl-users.jp がすばらしそう

おおお,これはすばらしい取り組みだなぁ. Perl-users.jp - 日本のPerlユーザのためのハブサイト perl-users.jp というサイトを立ち上げました 中でも,今時のPerlの書き方がコンテンツとして予定されていて非常に楽しみです.これまで初心者が今時のPerlの…

bombtterをインスパイアしまくったzerotterを作った

某ゼロっぽいbombtterクローンであるところのzerotterを作ってみました.tetsuwo_botのインスパイアでもあります.友達と話していて思いついたのでとりあえず書いてみた感じです.bombtterがすごくがんばってくれているおかげで,クローンを作るのは異常に簡…

いまあるMooseモジュール一覧

そろそろちゃんとMooseを勉強しようとおもうので,Moose系モジュールの一覧を眺めてみるなどした.って思ってたより多いよ!とりあえずこのあたりを一通りつかってMooseっぽさを感じ取るなどしたい.まだ,全部みきれてないけど,Moose::Compileとかがすごい…

Moose::Roleをちょろっと使ってみたよ

Perl界隈では空前のMooseブームが起こっていて良いですね! そういえば,卒論で書いたコードでMooseを使っていたのを思い出したので,最近,使い方を把握したMoose::Roleを使ってリファクタリングしてみました.とか思って,書いてみましたが,実際書いてみる…

Haskell Hackathon 2008に行ってきた

昨日の3月1日に開催されたHaskell Hackathon 2008に関西会場から参加してきました.関東,関西,名古屋,ほか様々な開催地の参加者のみなさん,おつかれさまでした.Haskellの構文のパース+ちょっとだけ意味解析するのを目標としたのですが,人生で初めてのy…

autoboxがかっこいい件

ActiveSupport equivalent to Perlで知ったautoboxがかっこいい。上のmiyagawaさんのコードを引用させてもらうと、DateTimeオブジェクトの生成が use autobox; use autobox::DateTime::Duration; print 1->day->ago, "\n"; # 2008-01-14T23:25:53 print 2->m…

YAPC::Asia 2008がきになるひとは

@yapcasiaをfollowしないと!

use Mooseでもuse strict扱いになるようにPerl::Criticをごにょごにょ

Perl::CriticとMooseを同時に使うとおこられるで書いたように,use Mooseがuse strictしてる扱いにならないので,Perl::CriticのPolicyを追加してみた.use strict;がコードの頭で宣言されているかをチェックするPolicyはPerl::Critic::Policy::TestingAndDe…