fukuoka.pm 第10回定例勉強会

Fukuoka Perl Mongers: 第10回定例勉強会開催のお知らせ に参加

簡単メモ

マルチバイトのすすめ

○マルチバイトの憂鬱
EUc-JPの時代

  • ASCII以外を2byte文字として扱っていた
  • length

-
-

perl5.8.x

  • 正直、内部でunicodeってなに?


○utf8 flug
perldoc perluniintro
フラグが無効であればスカラ内のバイト列はシングルバイトエンコーディングとして解釈される
フラグが有効であればスカラ内のバイト列は、(マルチバイトの可変長の)UTF-8エンコードされたキャラクタのコードポイントとして解釈

・マルチバイト数を扱う際に正規表現で小難しいことをしなくてよくなった
length,substr,indexなどの標準関数で
EUC-JP,Shift-JIS,utf8 not flug

  • 日本語->バイト数
  • ascii->文字数

・utf8 flug

  • 日本語->文字数
  • ascii->文字数

操作方法
・utf8::encode($str);
-utf8フラグをはずす

・utf8::decode($str);
-utf8フラグをつける

・$sjis = Encode::encode('sjis', $utf8_flug);
・$utf8_flug = Encode::decode('sjis', $sjis);

・Use utf8;
-ソースコードの文字列にUTF8フラグ


echo -n '福岡perlモンガーズ' | perl -pe 'print length($_); $_="";'
25

echo -n '福岡perlモンガーズ' | perl -pe 'utf8::decode($_); print length($_); $_="";'
11


echo -n '福岡perlモンガーズ' | perl -Mutf8 -pe 'utf8::decode($_); $a = "@デジハリ"; $_ .= $a; ; $_="";'

utf8::is_utf8($_);

Perl Development with Emacs (Makoto Sugiyama)

anything.el (C-l)
-なんでもインクリメンタルに絞込み
-なにを表示させるかは自分で作成・カスタマイズ可能

moccur
-ファイル内、ディレクトリ検索
-grep的 ⇒ 検索結果を anything で表示

flymake
-リアルタイムシンタックスチェック

yasnippet
-構文の雛形を表示してTabで挿入
-構文一覧をanything
-雛形は作成・カスタマイズ可能

ctags
-カーソルの置いてある場所の関数定義へジャンプ




perl-completion
-id:IMAKADOさんが開発
-L で perldoc をチラ見
-D で perldoc へジャンプ
- $obj-> の市でメソッド補完


sugmak の設定が魅力的だったので
ぜひ codecheck.in に commit してください!
と、土下座しました