use strict; use warnings; my @passwd_entries; open (USERS, '-|' , 'getent passwd' ) or die $!; @passwd_entries = ; close USERS; for my $line (@passwd_entries){ my @parts=split(':',$line); unless ($parts[5]){print $parts[0].' '."No home listed\n";} else { unless (-d $parts[5]) {print $parts[0].' '."dir ".$parts[5]." not found\n";} } }