my $subdir = sprintf '%03d', $id % 1000; unless ( -d $subdir ) { mkdir $subdir, 0777; } my $file = "$subdir/$id";