#!/usr/bin/perl use warnings; use strict; use File::Basename; print "CASENAME SORTED CLEANED PROCEED\n"; my @fields = qw/ sorted cleaned proceed /; for my $path ( grep -d, ) { my $case = basename $path; my %subdir = ( $case => { map { $_ => 'No' } @fields } ); for ( map basename( $_ ), grep -d, <$path/*> ) { /^\w/ && /sorted|cleaned|preceed/ and $subdir{ $case }{ $_ } = 'Yes'; } print join( "\t", $case, @{ $subdir{ $case } }{ @fields } ), "\n"; }