タグ

debugとperlに関するcielo_eeのブックマーク (3)

  • ピヨピヨ ZeroMemory( ) » Blog Archive » Data::DumperでUTF-8フラグつき文字列をエスケープさせないようにするには

    変数の中身を表示してくれるperlのCPANモジュール、Data::Dumperは、UTF8フラグのついているデータがエスケープされて文字化け状態になってしまうため、UTF8で日語を扱う時に困る。でもそもそもUTF8フラグがついていなければエスケープされることもなくて困らないのはなんで?というわけでソースを読むと Data::Dumper::qquote() というメソッドの中で、文字列をエスケープする条件に my $bytes; { use bytes; $bytes = length } s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length; というトリッキーなコードが入っていた。UTF-8フラグがついていると、UTF8の文字列が正しく文字として認識されてlengthがバイト数よりも小さくなるので

  • use Smart::Comments が便利すぎる - punitan (a.k.a. punytan) のメモ

    use Smart::Comments; が便利すぎるので、主要な部分をかなり適当に意訳しました。 原文も載せておきますので、「ここおかしい」「この訳のほうが適切」という箇所を見つけた場合、報告していただけるとありがたいです。 NAME Smart::Comments - Comments that do more than just sit there Smart::Comments - おい…このコメント、動くぞッ…!? VERSION This document describes Smart::Comments version 1.0.4 SYNOPSIS use Smart::Comments; my $var = suspect_value(); ### $var ### got: $var ### Now computing value... # and when loopi

    use Smart::Comments が便利すぎる - punitan (a.k.a. punytan) のメモ
  • Smart::Commentsが超便利 - kkobayashi_a’s blog

    今更だけど・・・知らなかったので。デバッグ出力用のモジュールらしいです。 Smart::Comments - Comments that do more than just sit there - metacpan.org 変数の値をData::Dumper的に*1ダンプしたり、現在時間を出したり、プログレスバーを出したりと便利な機能がたくさんあります。 Smart::Commentsを使わなければ単なるコメントとして無視されるというのも素晴らしい。 コード内で use Smart::Comments してもいいけど、コマンドラインオプションで-MSmart::Commentsすれば、ソースコードとしては完全に単なるコメントとして認識されるし、コマンドラインでデバッグのON/OFFも簡単にできるという・・・まさに至れり尽くせりですね。 ただ、コマンドラインで指定するときは、実行されたソース

    Smart::Commentsが超便利 - kkobayashi_a’s blog
  • 1