use strict; use warnings; use diagnostics; my $awksh = qq(/home/awk_parse_passwd.ksh); my $log = qq(/tmp/uid_ck.log); my ($k,$v,$element,$line) = 0; my (@keys,@values,@glob) = (); my (%hosts,%mcg_hosts) = (); open (LOG, ">>$log") or warn "file: '$log' did not open $!"; open (AWKSH, "$awksh -|") or die "unable to spawn '$awksh' $!"; { local $/ = 'undef'; foreach $line () { (@glob) = glob("/home/passwd.*"); } } foreach $element (@glob) { ($keys[$k++]) = $element =~ m|\.(\w+\.\w+)\z|ig; }