use warnings;
use strict;
#use Data::Dumper; # Debug
while (my @pwent = getpwent) {
#print Dumper(\@pwent); # Debug
my ($name,$uid,$home) = @pwent[0,2,7];
print "$name $uid $home\n"
if $home !~ m{^/home/} || ! -d $home;
}
####
use warnings;
use strict;
use User::pwent;
while (my $pwent = getpwent) {
print $pwent->name," ",$pwent->uid," ",$pwent->dir,"\n"
if $pwent->dir !~ m{^/home/} || ! -d $pwent->dir;
}
####
use warnings;
use strict;
use User::pwent;
use Path::Class qw/dir/;
my $home = dir('/home');
while (my $pwent = getpwent) {
print join(' ', map {$pwent->$_} qw/name uid dir/ ),"\n"
unless $home->subsumes( dir($pwent->dir) );
}