1088 Perl談義 はくぶん 2009-03-10 22:29:29
昨夜は晩飯を食って横になったら、そのまま爆睡。
電気やらコンピュータやら、すべてつけっ放し。
起きたら朝の6時半。

見るとラリーが4連続投稿。
Perlにはまってるね。


ラリー。

EUC
ちなみに、正しくは Extended UNIX Code ね。
あれっ、Extended UNIX Character じゃなかったっけ?

今度はパスワードを暗号化か。
それはなかなか凄い、というか、俺には出来ない。
暗号化処理をマスターしたら、俺に教えて。

スクリプトの内容を見て、どういう処理をしているのかは大体わかったが、
それを僅か1週間足らずで、自作できてしまっているところが凄い。

世の中のサーバは基本的にUNIXだから、EUC&LFで上手く行かないはずはないんだが。
むしろSJISの方が不具合が出やすい。
ひょっとして、そのサーバ、Linuxか?

Perlのコマンドと被る半角記号は\に限らず何でも、
文字列置換を使って直前にエスケープシーケンスを挿入すると問題なし。
と言いながら、この掲示板はそうなってないけど。

input textって何?
それってテキストファイルを読み込み専用でopenするってこと?

テキストファイルをopenして読み込む場合、
chompで行末の改行コードを消し去るのがよい。
改行コード付きで処理すると、予想外の結果になることがある。

ここで問題になるのが改行コード。
chompが果たしてCR、CRLF、LFのすべてのコードを綺麗に消し去ってくれるかどうかはわからないが、
少なくともLFは確実に消してくれる。
だから、本来はEUC&LFの組み合わせが良いとされているんだな。

UTF-8はクラシックマックの泣きどころ。
IEはサポートしているが、NCは対象外。

ただ、PerlでUTF-8を扱おうと思ったら、文字コードをUTF-8にしないと完璧に化ける。
EUC、JIS、SJISなら相互に変換可能だが、3バイト文字は完全には変換できない模様。

だから、この掲示板にいつまで経っても全文検索機能が付けられないのだ。
PHPはネイティブでUTF-8にも対応しているので、今や主流はそっち。

LAMPセットの最後のPがなぜPerlじゃなく、PHPかという理由もその辺にある。
MySQLもUTF-8を推奨しているので、余計PHPに軍配が上がるというわけ。
時代はもう3バイト文字。
実はPerlはもう時代遅れの代物なんだよ。
メッセージ文字数:992/1045