Perl の文字列の内側の記事の補足
前回の記事が期せずしてホッテントリ入りしたので,ちょっとマズいと思い。
- 前回の記事が難しいと思ったとしても,それは恥ずべきことではありません。
- ただ,Perl で文字列を扱う/文字コードを扱うのは難しい,と思われるのは本位ではないです。
- というのは,本当は,難しく考えなくでも動くように作られてますから。
拙い表現なもので上から目線に感じられたらごめんなさい。
もうちょっと詳しく書きます。
- Perl の文字列の扱いは,なるべく後方互換性を確保しながら,進化してきました。
- そのため,いろいろな思想,組み方でも動くようにできています。たとえば
- つまり TMTOWTDI。どのやり方が「間違っている」ということではありません。
- ただし,後方互換性を「なるべく」確保しつつ,「よりよい扱い方」ができるように「進化・変化」してきています。
- ですから legacy な書き方をしていると,「進化」にそぐわない部分で壁にぶつかる可能性があります。
- ぶつかってから色々調べるのでも全然遅くないです。理解も深まります。
- 根っこの思想(←私自身まだきちんと整理できていないのですが,いつか書きたいです*2)さえ理解すれば,文字列処理機構なんて空気のようなものです。
- そして呼吸をするがごとくコードを書けるように,様々な便利な機構が用意されています,ようです。
私自身,
- Perl 5 になっても長い間 4 Perl を使ってきましたし
- Encode モジュールがでてきても長い間 jcode.pl を使ってきましたし
- utf8 flag って頭の中がハッキリするから便利だーと思ってきましたし
それでも,それぞれのフェーズでうまく動くプログラムを書くことができました。それは私の技量というより,Perl の包容力のおかげでした。
そんなちょっとした先輩気取りから Perl newbies への助言と思っていただければ幸いです。
私は,いまさらながら腰を据えて perlunicode, perluniintro, perlunitut, perlunifaq, perluniadvice を読み込んでいこうか,と考えているところです。
さぁエクスキューズは書いたぞー。
*1:さまざまな code fragments でテストしつつ,根本的メカニズムを帰納的に推測して理解を深めるタイプなので,どうしても現象面から内部構造について書いてしまいます。勉強するのなら,よく書かれたドキュメントを読むほうが大事だと思います(変な内部知識や偏見に染まらないので)。
*2:私に限らず,わかっている人々が書くのが理想ですね……「http://trombik.mine.nu/~cherry/w/index.php/2008/02/20/1158/catalyst-manual-tutorial-utf8」等々に期待!