use strict; use warnings; use Test::Base; use Text::Hatena::AutoLink; Text::Hatena::AutoLink->syntax({ 'id:([\w-]+)' => sub { my $mvar = shift; my $name = $mvar->[1]; return qq|id:$name|; }, 'd:id:([\w-]+)' => sub { my $mvar = shift; my $name = $mvar->[1]; return qq|d:id:$name|; }, }); filters { text => ['text_hatena_autolink', 'chomp'], html => ['chomp'], }; sub text_hatena_autolink { Text::Hatena::AutoLink->parse(shift); } run_is; __END__ === id --- text Hello, id:jkondo! --- html Hello, id:jkondo! === d:id --- text Hello, id:jkondo! Is this your blog? d:id:jkondo --- html Hello, id:jkondo! Is this your blog? d:id:jkondo