バグ発見…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は使うななんだけど。