URI モジュールの小ネタ
- Iron Man Blogging Challenge | taro-nishinoの日記 | スラド
- YappoLogs: Iron Man Blogging Challengeに参加するよ、日本のPerlな人も参加しようよ
- http://blog.perlassociation.org/2009/05/perl-iron-man.html
って事なので、自分も及ばずながら参加してみます。
で、最近たまに忘れたりする URI モジュールの小ネタ。
相対パスの解決
new_abs() で簡単に作れます。
use strict; use warnings; use feature qw(say); use URI; my $uri = URI->new_abs('../../css/import.css', 'http://example.com/foo/bar/index.html'); say $uri; ## http://example.com/css/import.css
あるいは、
use strict; use warnings; use feature qw(say); use URI; my $uri = URI->new('../../css/import.css', 'http'); say $uri->abs("http://example.com/foo/bar/index.html"); ## http://example.com/css/import.css
URI::mailto
たまーに、mailto プロトコル使ってる例もあるんですよね。
あれって subject やら body のテンプレ書けるんですけど、その部分は
use strict; use warnings; use feature qw(say); use URI; use Data::Dumper; my $mailto = URI->new(q|mailto:info@example.com?subject=%E4%BB%B6%E5%90%8D&body=%E6%9C%AC%E6%96%87|); say $mailto->to; say Dumper(+{ $mailto->headers });
とかやると、
info@example.com $VAR1 = { 'body' => '本文', 'to' => 'info@example.com', 'subject' => '件名' };
まとめ
小ネタ過ぎてすみません><