open(LASTLOG, 'last|') or die "Try Randal's script instead: $!\n"; my %logins; while () { my ($name, $from) = split ' ', $_, 3; print unless $from eq 'ftp' or $logins{$name}++; } #### last | perl -lane 'print unless $F[1] eq "ftp" or $logins{$F[0]}++'