Perl

2008年02月06日

Data::Validate::Domain 0.03を0.08にしたらエラー

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

先日「apt-get dist-upgrade」した


動かなくなってる。何故だ…。

[error] Can't use string ("domain_allow_single_label") as a HASH ref while "strict refs" in use at /usr/share/perl5/Data/Validate/Domain.pm line 276.
調べてみると、
Data::Validate::Domainのバージョンが0.03だったのが0.08になってた。


perldocで確認してみた


謎は解けた。

0.03の場合
use Data::Validate::Domain qw(is_domain);

is_domain($domain, domain_allow_single_label => 0);

0.08の場合
use Data::Validate::Domain qw(is_domain);

is_domain($domain, {domain_allow_single_label => 0});

0.08ではハッシュリファレンスを渡すようになっていた。
対応完了。


半袖 at 20:30|PermalinkComments(0)TrackBack(0)

2007年04月10日

IO::Allを使ってみた

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

spamメールをspamd(SpamAssassin)に登録する時に使ってみた。
open関数を使うのと比較すると隨分すっきりしたコードだ。


use strict;
use warnings;
use IO::All;

my $spam_mail = "Hi, I'm spam."; # spamメールのDATA
$spam_mail > io('| /usr/bin/spamc -L spam -d 127.0.0.1 -u spamd');
if ($?) { warn "$! $?"; }


IO::Allは、まるでコマンドライン作業でファイル操作をしているかのような
な感覚でコーディング出来る。

http://search.cpan.org/~ingy/IO-All/


半袖 at 16:40|PermalinkComments(0)TrackBack(0)

2007年03月05日

Mail::SpamAssassin::Messageでメールをパースする

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

・MIME::Parser
・Email::MIME

両方を試してみたけど自分が欲しい情報を簡単に取り出せなかった。
今作っているツールは後々SpamAssassinを使う。SpamAssassinでも
メールをパースしているはずなので、パーサーを調べて見た。
Mail::SpamAssassin::Messageだ。

標準入力からファイル読み込んでダンプ。


use strict;
use warnings;
use Data::Dumper;
use Mail::SpamAssassin::Message;

my $parser = Mail::SpamAssassin::Message->new({parsenow => 1});
print Dumper $parser;


ツリー構造を保ったままメール本文をゴッソリ取得可能。
自分の欲しい情報が全て簡単に手に入る。
Mail::SpamAssassin::Messageを使って行こう。


半袖 at 12:50|PermalinkComments(0)TrackBack(0)

2007年01月05日

CSVでダンプする

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

http://search.cpan.org/dist/Data-Tabular-Dumper/


print Data::Tabular::Dumper-<dump($data);


ごっそりダンプする時にお手軽。


半袖 at 19:10|PermalinkComments(0)TrackBack(0)

2006年11月09日

Net::DNS::LivedoorDomain::DDNS

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

Net-DNS-LivedoorDomain-DDNS-0.01を作ってみた。

livedoorドメインのDDNS用モジュール。
ダイナミックDNSの需要ってどれくらいあるのだろうか。


半袖 at 18:40|PermalinkComments(0)TrackBack(0)

2006年10月24日

SSL証明書の有効期限確認

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

(ひ)メモ - Net::SSL::ExpireDateより
> https://なURLもしくはファイルを対象にして、
> 証明書が切れる日時の情報を返すモジュールを作成中。

サーバ証明書数百枚を管理している人が身近にいる。
「それPla」とされているように、Plaggerと連動させれば期限管理ツールとして使える。
CPANに登録されるのが待ち遠しい。


半袖 at 16:45|PermalinkComments(2)TrackBack(0)

2006年10月16日

CPAN Author への道 2

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

無事、モジュールがCPANモジュールとして登録された。

ところで今、社内に何人CPAN Authorが居るんだろう。
ヒルズのあの人とあの人、あの人、あの人。合計何人?

半袖 at 11:10|PermalinkComments(2)TrackBack(0)

2006年10月13日

CPAN Author への道

livedoorClipに登録 livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

先日作った某モジュール

どうせなら、せっかくならCPANモジュールにと思った。
[Perl] 作成したモジュールをCPANで公開する手順を参考に諸手続き。

・PAUSEアカウント申請
・tar ballを登録
・モジュールの登録申請 ←現在ここまで完了

さて、無事に登録されるかな。


半袖 at 15:20|PermalinkComments(2)TrackBack(1)