Whiteのふりーとーく

patch to YAML.pm

About this Page |過去分一覧

近頃版/another blog@hatena/Wiki/BBS

< 出社時刻 | かいもの >

 

patch to YAML.pm

YAMLを使ったインチキ分散オブジェクトを使っていて問題が浮上。0から始まる数字だけの文字列を、YAMLモジュールLoad()による読み込み時に数字だと認識して正規化してしまうようで、先頭の0が取れてしまう。

仕方ないのでYAMLモジュールの動きをデバッガで追って読み込み時の正規化部分に回避コードを差し込んだ。以下そのpatch。

--- /usr/lib/perl5/site_perl/5.8.1/YAML.pm      2002-06-25 14:02:09.000000000 +0900
+++ YAML.pm     2004-12-16 19:30:39.000000000 +0900
@@ -1322,6 +1322,7 @@
     my ($value) = @_;
     $value =~ s/\s*$//;
     return $value if $value eq '';
+    return $value if $value =~ /^0\d+$/;
     return $value + 0 if $value =~ /^-?\d+$/;
     return $value * 1.0
       if ($value =~ /^[+-]?(\d*)(?:\.(\d*))?([Ee][+-]?\d+)?$/) and

_あとはこれをメンテナーに送るかどうかだよなあ。英語苦手なんだけども。

TrackBack ping url:

名前

TrackBack:


御意見・御感想の宛先white@niu.ne.jp