【Perl上級者コーナーPart01】at PHP
【Perl上級者コーナーPart01】 - 暇つぶし2ch420:414 ◆SQ2Wyjdi7M
06/10/09 00:26:29 b33Q2pbi
まぁ、テキトウにまとめ。
しなくてもいいだろうが、スレつかっておいて自己解決して放置っつースタイルが嫌いなので。

俺の場合。
出力をXHTMLに準拠させたいが、ファイルの先頭でXML宣言をするとIEで厄介なので、それを避けるために出力をUTF8にしたかった。
そんなときにPerl5.8は内部処理とかUTF8にしたぞ的なことを知ったので、use utf8;とかしてコードを書いていたわけだが、
UTF8のマルチバイト文字列をcrypt関数の引数として与えるとエラーが出るという問題にあった。

まぁ、crypt使う理由が2ch互換のトリップを生成することだったわけで、そのときにUTF8でcrypt使用としてた辺りがあほなんだが、
1日考えるのやめてカラオケとか逝ってたら、脳みそすっきりしてこのことに気づいたので解決した。

そんでUTF8→SJIS変換したら、すんなり成功した。

参考までにソース載せると

package パッケージ名;
use utf8;
use Encode;
return 1;

sub makeTrip{ # 引数 = \$tripkey(utf8)
my $tripkey = $_[0];
my $salt;
$$tripkey = encode('shiftjis', $$tripkey);
$salt = substr($$tripkey.'H.',1,2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$$tripkey = crypt($$tripkey,$salt);
$$tripkey = substr($$tripkey,-10);
return;
}



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch