Perlについての質問箱 34箱目at TECHPerlについての質問箱 34箱目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト600:デフォルトの名無しさん 08/03/03 17:58:47 そっか!e修飾子を利用した時は置換部分は関数以外は入れたらダメなんですね。 $i =~ s/\[\[(.+?)\]\]/<a href="&url_enc($1)">$1<\/a>/eg; だとエラーが出るんで何でだろうとずっと思ってたんです。 ありがとうございます。勉強になりました。 601:デフォルトの名無しさん 08/03/03 18:25:15 >>600 自分で '%' . unpack('H2', $1) なんてのを入れてるじゃん。 sub html_escape { my $str = $_[0]; $str =~ s/&(?!(?:\w+|#(?:[Xx][0-9A-Fa-f]+|[0-9]+));)/&/g; $str =~ s/([\x00-\x09\x0B\x0C\x0E-\x1F"'<>\x7F])/${ \ ord $1 };/g; $str; } sub uri_escape { my $str = $_[0]; $str =~ s/%(?![0-9A-Fa-f][0-9A-Fa-f])/%25/g; $str =~ s/([\x00-\x20"'<>\\^`{|}\x7F-\xFF])/ sprintf '%%%02X', ord $1 /eg; $str; } $i =~ s{ \[\[ (.+?) \]\] } { my($url, $face) = ($1, $1); $url = uri_escape($url); $face = html_escape($face); qq|<a href="$url">$face</a>|; }egx; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch