sub id2path_new { my $id = shift or return q(); my $chunk_length = length $id > 6 ? 3 : 2; $id = sprintf '%0' . ($chunk_length * 3) . 'd', $id; my $chunk = ".{$chunk_length}"; my $path = join '/', $id =~ / ^ (.*) ($chunk) ($chunk) $ /xg; return $path; }