2010-09-09T21:29:25
pktmJetzt will
a) ich all die Paare, die der Nutzer angegeben hat und die noch nicht in der DB waren, in die DB einfügen und
b) alle Paare, die der Nutzer nicht angegeben hat, aus der DB löschen.
hä? Heißt dass nicht alle alten Paare löschen und alle neuen Paare einfügen???
hier mit höherem Zeitaufwand und weniger code:
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper qw/Dumper/;
my @pairs_in_db = ([1,2],[1,9],[3,4],[5,6]);
my @pairs_from_somewhere_else = ([1,2],[5,6],[7,18]);
my @pairs_to_delete=@pairs_in_db;
my @pairs_to_create;
NEW:
for my $new (@pairs_from_somewhere_else) {
for my $old (@pairs_to_delete) {
if (defined($old) and "@$new" eq "@$old" ) {
$old=undef;
next NEW;
}
}
push @pairs_to_create,$new;
}
print Dumper \@pairs_to_create,\@pairs_to_delete;
Mengenoperationen wie du sie bräuchtest konnte ich in List::MoreUtils leider nicht entdecken, gibts dafür ein Core Modul?
Last edited: 2010-09-10 04:51:23 +0200 (CEST)