Perl

2008年02月06日

このエントリーをはてなブックマークに追加

先日「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ではハッシュリファレンスを渡すようになっていた。
対応完了。



編集
@hansode at 20:30|PermalinkComments(0)TrackBack(0)

2007年04月10日

このエントリーをはてなブックマークに追加

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は、まるでコマンドライン作業でファイル操作をしているかのような な感覚でコーディング出来る。




編集
@hansode at 16:40|PermalinkComments(0)TrackBack(0)

2007年03月05日

このエントリーをはてなブックマークに追加

  • 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を使って行こう。




編集
@hansode at 12:50|PermalinkComments(0)TrackBack(0)

2007年01月05日

このエントリーをはてなブックマークに追加

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

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

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




編集
@hansode at 19:10|PermalinkComments(0)TrackBack(0)

2006年11月09日

このエントリーをはてなブックマークに追加

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

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



編集
@hansode at 18:40|PermalinkComments(0)TrackBack(0)

2006年10月24日

このエントリーをはてなブックマークに追加

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

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



編集
@hansode at 16:45|PermalinkComments(2)TrackBack(0)

2006年10月16日

このエントリーをはてなブックマークに追加

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

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


編集
@hansode at 11:10|PermalinkComments(2)TrackBack(0)

2006年10月13日

このエントリーをはてなブックマークに追加

先日作った某モジュール

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

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

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



編集
@hansode at 15:20|PermalinkComments(2)TrackBack(1)