Perl

Perl::CriticとMooseを同時に使うとおこられる

use Moose;してると自動的にuse strict;とuse warnings;したのと同じになる.Moose使うときは,ちょっとだけらくちん.なんだけど,Perl::Criticでそういうコードをチェックすると,use strict;がねーよ!って怒られる.全部Mooseで書いていると,やたらめっ…

Perl5.10.0 リリース

Perlの20歳の誕生日についにPerl5.10.0がリリースされた.Perl 5.10.0 ReleasedさっそくRC2の代わりにコンパイル & インストール $ cd ~/perl/src/perl-5.10.0 $ sh Configure -Dprefix=/Users/yohei/perl/5.10.0 -Dusethreads -des $ make $ make test $ ma…

MacならsayコマンドがあるのでRSSしゃべらすのも簡単

yharaさんがとなりでRubyでtwitterの新着を読み上げさせてみるをやっているときにMacでやってみたやつ. use strict; use warnings; use XML::Feed; use URI; use Perl6::Say; my $FEEDURI = shift; my $feed = XML::Feed->parse( URI->new($FEEDURI),); for…

LeopardでCGI.pmのテストがとおらないのは変なTMPDIRのせい

Leopardでは特殊なTMPDIR環境変数が設定されているという記事を書いた。これに関連して、このTMPDIRのせいでCGI.pmのテストが失敗する。LeopardはTMPDIR環境変数は以下のようになっている。 $ echo $TMPDIR /var/folders/A2/A2AtxiekJ3jlm3DDlp98aE+++TI/-Tm…

Perlまわりの環境を整備した

Leopardにした and Perl5.10-RC1が出た機会にPerl環境の整備をしたのでそのメモ。要求としては以下。 MacPortsのPerl5.8を使いたい MacPortsの管理領域(/opt/local)は汚したくない 最新のCPANモジュールは使いまくりたい Perl5.10を簡単に試したい これまで…

Twitter/AnimeKantoがうらやましかったのでTwitter/AnimeKansaiを作った

AnimeKanto : 関東のアニメ情報をTwitterにFeedによると、関東のアニメの放送情報をしゃべるTwitterボットがあるようです。これは良さそう!shaoさん++。といっても、滋賀県在住の私と致しましては、関東の放送情報が流れてきてもあんまり意味がないわけで。…

Filter::FLVInfo書いた

iPod touch向けのニコニコ動画のPodcastを生成するのときは、Filter::FFmpegを直接いじってたのだけど、 あまりかっこよくないので、FLV::Infoで情報を取り出す部分だけを、別のプラグインに分けました。FLV::Infoでとりだした情報を$entry->meta->{flvinfo}…

第16回Ruby勉強会とAMB

第16回Ruby勉強会にいってきました。数少ない、うちがRubyistになる瞬間です。でも今回は割とPerlも書いてました。ごめんなさい。だいぶメンバーも見慣れた感じになってきましたね。いろいろと情報交換や議論が行われるだけでなく、いろんなイベントもここの…

iTunesで指定したプレイリストの曲だけを取り出したい

iTunesで指定したプレイリストの曲だけを取り出したい! と思ったので、やってみる。お気に入りプレイリストに入っている曲だけおでかけようマシンにコピーしたりするのだ。iTunesの曲情報その他は、Macだと"~/Music/iTunes/iTunes Music Library.xml"に記録…

Web::Scraper便利!

naoyaのはてなダイアリー - Web::Scraperを見て。これはよさそう。ソース読んでみると単純に値を取得する以外にも、どうやら、配列で結果を受け取ったり、サブルーチンを渡して処理を委譲したりできるようなので、ためしにやってみよう。 use strict; use wa…

use utf8;

はこべにっき# - Web::Scraper便利!が、添削というか良い例題になってようです。 スクリプトがUTF-8で書かれている場合は、わざわざdecode_utf8('リテラル');とするより、最初にuse utf8;としておくのが吉。〜〜見ての通り、utf8 pragmaはlexical scopeなの…

コマンドラインからiTunesの曲を検索

iTunesで管理している曲ファイルの場所をコマンドラインから調べれるようにします。iTunesのライブラリのxmlを読み込んで指定の曲を調べるスクリプトをためしに書いてみました。iTunesのライブラリのxmlは~/Music/iTunes/iTunes Music Library.xmlです。XML…

スタンドアロンWebサーバ書くのにPOEはいいかも

スタンドアロンWebサーバ書くのにPOE::Component::Server::HTTPはかなりお手軽ですね。エラー処理とかいろいろはしょると以下のコードで、Webサーバが走ります。 use strict; use warnings; use POE qw( Component::Server::HTTP Sugar::Args ); my $httpd_a…

Kansai.pmのはてなリングできました

関西のPerlMongersが集うKansai.pm。そのメンバーのためのはてなリングができました。Kansai Perl MongersKansai.pmは結構メンバーがいてブログを書いている人も多いのですが、いったいだれがどのブログを書いてるのがほとんど把握できなかったのですよね。…

Net::Twitterからかえってくる日本語がいまいちおかしい人は

JSON::XSいれると良いかも知んない。JSON::Anyによって選ばれるモジュールによっては日本語の扱いがいまいちっぽい。

YAPC::Asia 2007参加します

各所*1でもりあがりつつあるYAPC::Asia 2007ですが、うちも参加しますよー。名札を思いっきり忘れてしまいましたので、どっかのコンビニとかで入手できないかぎり名無しのごんべで参加になりそうです。青いセータにベージュのジャケットのひょろ長いやつを見…

DateTime->strftime

strftimeやstrptimeはつかいませんか。$time->strftime(’at %l:%m%P(%B %d)’); とLingrの日付を変換に対してコメントをもらいました。これを忘れていた。 # print new time print 'at ' . $time->hour_12 . ':' . $time->minute . ($time->hour_1 < 12 ? 'am…

Lingrの日付を変換

LingrはWeb上でラクにちゃっとできるので、良いですね。ただ、Lingrのログに流れるタイムスタンプってロサンゼルス時間なんですよね。これが微妙にきもくて、できれば、日本時間で表示してほしい。とか友達と言っていたら、「それGreaseMonkeyでできるんじゃ…

Kansai.pm#8でしゃべってきました

ブロガーのためのソースコード管理システムで発表させていただきました。発表資料は、イベント/第8回ミーティング報告に置いてもらってます。どんな内容の提案かを説明させてもらったあと、プロトタイプのデモをしました。このデモが本番に反映されるかはか…

DateTimeモジュール使ってみたメモ

研究室で使ってるコードで日付処理が出てきたので、すこしメモ。まず、 use strict; use warnings; use DateTime; use DateTime::TimeZone; my $tzhere = DateTime::TimeZone->new( name => 'Asia/Tokyo' ); として、タイムゾーンオブジェクトを事前に作って…

LiveCoding一人反省会

第3回 LiveCodingに参加してきました。とりあえず、はじめに、お腹をすかせてピザを待ってくれたみなさんすみません。お腹好きましたよね…。実は、今回コーダーとして参加させてもらいました。Plaggerでピザ注文を実演しようかと思ったのですが、思いのほか…

ファイルの種類を調べる方法 その1

File::Typeモジュールを使う。 use strict; use warnings; use Perl6::Say; use File::Type; my ($input_file) = @ARGV; my $ft = File::Type->new; my $type = $ft->checktype_filename($input_file); say $type; このモジュールはファイルの先頭のヘッダみ…

Module::Starter::PBP

週末のネタに向けてモジュールのスケルトンを作成。せっかくなので、Module::Starter::PBPでPBP validなコードを。実際にスケルトンの作成をするのにはいくつか儀式が必要だった。まず、$HOME/.module-starter/configに以下のように書く。 author: YoheiFush…

スカラーをファイルハンドルとして扱う

きのうごちゃごちゃ書いたけど、 my $data = IO::Scalar->new; とすれば、ファイルハンドルとして使えるスカラーが作れるのか。適当にファイルハンドルとして、 print $data 'hello!'; とすれば良いな。中を見るにはIO::ScalarのSINOPSISによると、 print ${…

はじめてのSVN::Client

とりあえず、あせらず、じっくりと進めていく感じで。SubversionをPerlから操作するためのバインディングを少しづつ使って行きます。読み込み認証いらないsvnサーバからデータを拾って表示するのは以下のような感じ。 use strict; use warnings; use SVN::Cl…

Podのパースを試みる

Perlのドキュメント形式であるところのPodを、ちょっと使いたいのでいろいろと実験。まず、みつけたPod::Simple::SimpleTreeをためした。 =head1 TITLE *[Perl]Podのパースを試みる =head1 BODY ちょっとPodを使いたいのでいろいろと実験。 まず、みつけたPo…

コマンドラインからWikipedia

たまに使う気もするので~/bin入れておく。 $ wikipedia.pl Perlとすると、コマンドラインにWikipediaから引数で与えたキーワードの要約を取得して表示する。ソースは以下。要WebService::SimpleAPI::Wikipedia。Yappoさんthx。 use strict; use warnings; us…

簡単なWWW::Mechanize

テストやっとこ終わった。id:omochistも勉強再会したようですし、うちも更新再開ですよ。今回は、これからいろいろ使いそうなWWW::Mechanizeモジュールを試してみた。WWW::Mechanizeはすてきなモジュールで、PerlにWebブラウジングをさせることができる。こ…

PerlHacks

ずいぶん更新してませんが、生きてます。ちょっと、レポートとの戦いで疲れてただけ。そんな、レポートとの戦いで消耗したうちにも、一筋の光が差し込みました。そう、研究室にPerlHacksが届いたのですよ。オライリー本の入荷が遅いうちの学校の生協にはあま…

Perlで例外オブジェクトをeval & catch

ひさびさにPerlベストプラクティスネタ。Perlで例外処理というと、evalして$EVAL_ERROR(= $@)の文字列を判定するしかないと思っていたのだけれど、ちゃんと例外オブジェクト使う方法があった。やっぱりなんでもありだなPerlは。PBPによると、例外オブジェク…