sub checkdir { (-e $_[0] and -d $_[0]) or return 1; return 0; } ... unless (checkdir $_) { #### unless (checkdir $_) { #### if (-d $_) { #### if (-d) { #### sub printhash { for (0...$#_) { if ($_ % 2) { print $_[$_] . "\n"; } else { print $_[$_] . ": "; } } } ... printhash %curmsg; #### printhash %curmsg; #### print "$_: $curmsg{$_}\n" for keys %curmsg; #### while ($curline = ) { if ($curline =~ /^Subject: /) { ... } else { next; } }