読者です 読者をやめる 読者になる 読者になる

rewrite_config bug

Changeset 1000 を目前にして睨みあいが続いている今日この頃ですが。
Plagger.pm の rewite_config で、書き換え前の値が正規表現のメタキャラクタを含んでいると誤動作するので patch. \Q \E で括るだけ。

--- lib/Plagger.pm      (リビジョン 999)
+++ lib/Plagger.pm      (作業コピー)
@@ -86,7 +86,7 @@
     # xxx this is a quick hack: It should be a YAML roundtrip maybe
     for my $task (@{ $self->{rewrite_tasks} }) {
         my($key, $old_value, $new_value ) = @$task;
-        if ($data =~ s/^(\s+$key:\s+)$old_value[ \t]*$/$1$new_value/m) {
+        if ($data =~ s/^(\s+$key:\s+)\Q$old_value\E[ \t]*$/$1$new_value/m) {
             $count++;
         } else {
             $self->log(error => "$key: $old_value not found in $self->{config_path}");

しかし、これが今まで問題になっていないということは、(自分も含めて) 案外みんなパスワードに記号類を使っていな(ゲフンゲフン