アカウント名:
パスワード:
「404 Not Found [livedoor.jp] 」にはモダン Perl の書き方やモダン Perl の良書紹介エントリがたくさんあるので、まずはここを見るのが筋だと思う。
# dankogai の Perl 至上主義は老害と言ってもいいと思うので AC
404 Blog Not Found : perl - use encoding; #は黒歴史 [livedoor.jp]
10年ぐらい前にPerlに触ったとき、Shift_JISの第2バイトが"\x5C"だとバックスラッシュに解釈されてしまうというのを知ったんだけど、未だにそうなんですね。RubyやPythonみたいにスクリプトのエンコーディングを指定可能にするのじゃなく、「UTF-8以外使うな」とするのがPerl流のモダンなのか……。それ、モダンじゃなくて単なる「手抜き」じゃないのかな?
ちゃんと読みなさいなエンコーディング指定も出来るけれど、UTF-8で書いた方が問題は少ないって話ですよRubyだってShift_JISで書けば、UTF-8では発生しない問題が起きるでしょう?
そもそもShift_JISがモダンなエンコーディングとは言えないんだから仕方ないUTF-8は、少なくともShift_JISよりはモダンなはずだ
なんて乱暴な……。RubyもPythonも、スクリプトの頭で
# coding: Shift_JIS
と宣言しておけば、ソースがShift_JISで書かれているとインタプリタが解釈するんですよ。指定しておけば、"表"の第2バイトがバックスラッシュとみなされることなんてありえません。デフォルトエンコーディング(RubyとPython2.xはUS-ASCII、Python3.0はUTF-8だったかな)以外のエンコーディングでスクリプトが記述可能という仕組みが、インタプリタに実装されているんです。
ライブラリの対応状況とか文字列の処理上の問題はこの際関係ないです。エンコーディングの優劣も的外れ。何を言っているのやら。
Perlだってencoding指定すれば、"表"がバックスラッシュになるなんて事ありませんよ。インタプリンタがそう解釈してくれるんだから
小飼さんのBlogで言及してるのはまさに> ライブラリの対応状況とか文字列の処理上の問題だと思いますが……
なるほど、勘違いの理由が分かりました。件のエントリでは、あえて encoding を指定しない場合の話なわけですが(SJIS指定が出来るのは既知なので分かりやすく言及はしてませんね)それを見て、未だに "表" がバックスラッシュに解釈されてしまうと思ったんですね?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
dankogai のブログを読む (スコア:1, 興味深い)
「404 Not Found [livedoor.jp] 」にはモダン Perl の書き方やモダン Perl の良書紹介エントリがたくさんあるので、まずはここを見るのが筋だと思う。
# dankogai の Perl 至上主義は老害と言ってもいいと思うので AC
Re: (スコア:0)
404 Blog Not Found : perl - use encoding; #は黒歴史 [livedoor.jp]
10年ぐらい前にPerlに触ったとき、Shift_JISの第2バイトが"\x5C"だとバックスラッシュに解釈されてしまうというのを知ったんだけど、未だにそうなんですね。
RubyやPythonみたいにスクリプトのエンコーディングを指定可能にするのじゃなく、「UTF-8以外使うな」とするのがPerl流のモダンなのか……。
それ、モダンじゃなくて単なる「手抜き」じゃないのかな?
Re: (スコア:0)
ちゃんと読みなさいな
エンコーディング指定も出来るけれど、UTF-8で書いた方が問題は少ないって話ですよ
RubyだってShift_JISで書けば、UTF-8では発生しない問題が起きるでしょう?
そもそもShift_JISがモダンなエンコーディングとは言えないんだから仕方ない
UTF-8は、少なくともShift_JISよりはモダンなはずだ
Re: (スコア:0)
なんて乱暴な……。
RubyもPythonも、スクリプトの頭で
と宣言しておけば、ソースがShift_JISで書かれているとインタプリタが解釈するんですよ。
指定しておけば、"表"の第2バイトがバックスラッシュとみなされることなんてありえません。
デフォルトエンコーディング(RubyとPython2.xはUS-ASCII、Python3.0はUTF-8だったかな)以外のエンコーディングでスクリプトが記述可能という仕組みが、インタプリタに実装されているんです。
ライブラリの対応状況とか文字列の処理上の問題はこの際関係ないです。
エンコーディングの優劣も的外れ。何を言っているのやら。
Re:dankogai のブログを読む (スコア:0)
Perlだってencoding指定すれば、"表"がバックスラッシュになるなんて事ありませんよ。
インタプリンタがそう解釈してくれるんだから
小飼さんのBlogで言及してるのはまさに
> ライブラリの対応状況とか文字列の処理上の問題
だと思いますが……
なるほど、勘違いの理由が分かりました。
件のエントリでは、あえて encoding を指定しない場合の話なわけですが
(SJIS指定が出来るのは既知なので分かりやすく言及はしてませんね)
それを見て、未だに "表" がバックスラッシュに解釈されてしまうと思ったんですね?