バグ発見…orz
とりあえずハードリンクを張る処理のあたりおかしい。リンクを張るところでリンクを張ってない。移動はできてるから、リンクを張る処理の部分だけで完結してる問題のはず。move
メソッド全体には影響は及ばない。ちょっと詳細にログをとるようにして、発現条件を詳しく調べよう。
追記 [10/28 00:03]
とりあえず、このあたりなのは調べるまでもなくわかってるから。link
の戻り値をチェックしてなかったのは痛いなぁ。とりあえず戻り値のチェック漏れから直そう。まずはコード全部確認しないと。
my $dest = shift @{$dests}; File::Copy::move($src, $dest) if !$self->_debug; foreach my $link (@{$dests}) { link $dest, $link if !$self->_debug; }
ていうかなんでif not
なんだろ。これはunless
のほうが読みやすいよなぁ。PBP的には後置unless
は使うななんだけど。