sub get_by_glob { my @dids = map {/d([^\/]+)$/; $1} csh_glob("$path/d[0-9]*/d[0-9]*"); return \@dids; } sub get_by_open { opendir(my $dh, $path); my(@top) = grep(/^d/, readdir($dh)); closedir($dh); my(@dids)=(); foreach my $sd (@top){ opendir(my $sh, $path.'/'.$sd.'/'); push @dids, map({m/d(\d+)$/} readdir($sh)); closedir($sh); } return \@dids; }