+our $insert;
+sub insert {
+ my ( $table, $row ) = @_;
+ $insert->{$table} ||= $k->prepare(
+ "insert into $table ("
+ . join(',', keys %$row)
+ . ") values ("
+ . join(',', map { '?' } keys %$row )
+ . ")"
+ );
+ $insert->{$table}->execute( values %$row );
+ warn "# inserted ", dump $row;
+
+}
+
+sub borrowers {
+ my $sql = shift;
+ my $sth = $f->prepare($sql);
+ $sth->execute;
+
+ $insert = undef;
+
+ while (my $row = $sth->fetchrow_hashref ) {
+
+ warn dump $row;
+
+ # poor man's (sqlite) outer join
+ $row->{'country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'country'}, $row->{contry} );
+ $row->{'city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'city'}, $row->{city} );
+
+ $row->{'B_country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'B_country'}, $row->{B_country} );
+ $row->{'B_city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'B_city'}, $row->{B_city} );
+
+ $row->{'email'} = lookup('clanost', 'ozn_vrclan||ozn_clan', 'email', $row->{'cardnumber'}, undef);
+ $row->{'emailpro'} = lookup('clanost', 'ozn_vrclan||ozn_clan', 'email_k', $row->{'cardnumber'}, undef);
+
+ foreach my $c ( grep { /date/ } keys %$row ) {
+ $row->{$c} =~ s/(\d\d)\.(\d\d)\.(\d\d\d\d)/$3-$2-$1/;
+ }
+
+ $row->{sex} =~ s/\x{17D}/F/;
+
+ $row->{city} ||= '?'; # not null
+
+ insert 'borrowers' => $row;
+
+ }
+}
+
+$k->do(qq{
+delete from borrowers where borrowernumber > 57
+});
+
+borrowers qq{