Leser: 24
1 2 3 4
my @stuff = qw/foo bar baz boing/; my %ref = map { $_ => 1 } qw/bar boing/; my @filtered = grep { !$ref{$_} } @stuff;
1 2 3 4 5 6 7 8 9 10 11 12
foreach $i (@a) { $x = 0; foreach $u (@b) { if ($u eq $i) { $x = 1; last; } } unless ($x) { print "$i\n"; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use strict; use warnings; use Data::Dumper; my @stuff1 = qw/a b c d/; my @stuff2 = qw/a d/; my %seen; my @stuff1_only; my $element; foreach $element(@stuff2) { $seen{$element} = 1; } foreach $element (@stuff1) { unless ($seen{$element}) { push (@stuff1_only, $element); } } print Dumper \@stuff1_only;
1 2 3 4 5 6 7
my @lista=qw(a b c d e); my @listb=qw(c p k a r p b); my $regexp='\Q'.join('\E|\Q',@lista).'\E'; my @result=grep{!/$regexp/}@listb; print "@result\n";
Guest TheUserich möchte gerne eine Liste durchsuchen und die Elemente der List wiederbekommen welche nicht in einer anderen Liste stehen.
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Perl6::Junction qw/ none /; my @items = qw/a b c d/; my @bad = qw/a d/; my @filtered = grep { $_ eq none @bad } @items; print Dumper \@filtered;
1 2 3 4 5 6
use Perl6::Junction qw/ none /; my @items = qw/a b c d/; my $bad = none( qw/a d/ ); my @filtered = grep { $_ eq $bad } @items;
2009-04-14T09:00:28 TaulmarillWähre es nicht sinnvoller, @bad direkt als Objekt zu initialisieren? Wenn ich das richtig verstehe, wird sonst für jeden Durchlauf des grep-Blocks ein neues Objekt erstellt.