#!/usr/local/bin/perl ######################################################################################### # エンティティコード簡易変換ユーティリティ(10進数#32〜#126用/全角文字変換機能なし) v1.00 # (c)2004 by CGI-RESCUE FREESOFT ######################################################################################### if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($key,$val) = split(/=/,$pair); $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $in{$key} = $val; } $char1 = $in{'str'}; $char1 =~ s/([-\w.]|[\s\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\?\@\[\\\]\^\_\`\{\|\}\~])/'&#'.unpack('C2',$1).';'/eg; # エンティティコード化 $char2 = $char1; $char2 =~ s/&/&/g; # コード表示用 print <<"EOF"; Content-type: text/html\n エンティティコード化

エンティティコード化

<a href=" ">メール送信</a> (1行で)
検証
$char1

EOF