Thread Doppelte Elemente aus Array entfernen
(11 answers)
Opened by pktm at 2007-11-11 14:12 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @array = ( {a => 'b'}, {1 => 2}, {1 => 2}, ); my %seen; my @unique = map{ $_->[0] }grep{ !$seen{$_->[1]}++ }map{ [$_,flatten($_)] }@array; print Dumper \@unique; sub flatten{ my ($hashref) = @_; my $string = ''; while( my ($key,$val) = each %$hashref ){ $string .= $key . '_::_' . $val . '_::_'; } return $string; } Wenn es noch tiefer verschachtelte Datenstrukturen sind, musst Du mit Rekursion und Fallunterscheidung (ARRAY, HASH,...) arbeiten. OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |