sub id2path3 { my $id = shift || return ''; my $path; my( $pat, $bit ) = $id < 1e6 ? ( '%06u', '..' ) : ( '%09u', '...' ); $path = sprintf $pat, $id; $path =~ s[($bit)($bit)$][/$1/$2]; return $path; }