use strict; use warnings; my @c; my @a = qw ( server1 server2 server3 server5 ); my %a = map { $_ => 1 } @a; # Solution 4 my $filename = 'file'; open my $fh, '<:crlf', $filename or die "$0: Can't open $filename $!"; while (defined(my $line = <$fh>)) { chomp $line; # Solution 1 push @c, $line if not $line ~~ \@a; # Solution 2 push @c, $line if not grep { $line eq $_ } @a; # Solution 3 use List::Util qw(first); push @c, $line if not first { $_ eq $line } @a; # Solution 4 push @c, $line if not exists $a{$line}; } close $fh; print "@c";
In reply to Re: compare array with file
by trizen
in thread compare array with file
by cinil
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |