Perl コーディング初心者質問コーナー Part28
87 :
82:
ちと作業待ちでヒマなので余計だとは思うが、知らない人もいるかもしんないので追伸。
Shift_JISの2バイト目で、ASCII領域に引っかかってるのは、\x40-\x7Eの範囲。
この中で、記号に属するのが、
@ [ \ ] ^ _ ` { | } ~
とこれだけ。だからq[..]を使うのはちょっと危険かもな。
クオートや「$」が混じる心配しなくて良い。ダブルクオートで囲むと
「@」と「\」が問題になるが、シングルクオートなら問題になるのは、「\」だけ。
んで、2バイト目が「\」の場合、どうやってエスケープするかというと、
その後ろに「\」を連ねれば、2バイト目を含めて「\\」となりちょうど
エスケープされた状態になるので、うまく行く。かなり強引な解決方法。
<<'EOF'ならその問題もないが、コードが読みにくくなるのが難点。