my %users = (); my %groups = (); my $pfname = '/etc/passwd'; open(my $pfh, $pfname) || warn "Error reading $pfname: $!"; while (my $line = <$pfh>) { my ($name) = split(/:/, $line); $users{$name} = 1; } close $pfh; my $gfname = '/etc/group'; open(my $gfh, $gfname) || warn "Error reading $gfname: $!"; while (my $line = <$gfh>) { my ($name) = split(/:/, $line); $groups{$name} = 1; } close $gfh;