W dniu 22 marca 2012 18:59 użytkownik Tomasz Chiliński < tomasz.chilinski@chilan.com> napisał:
Ciekawe czy w wyrażeniu regularnym dopasowującym się do potencjalnej nazwy ulicy zawarty jest znak "-" ;-)
oj to nie jest kwestia znaku "-". Dodałem printa przed wykonaniem zapytań do bazy i zmienne są poprawne. kwestia jest w zapytaniu/zwracanych danych. "print "printuje $city= $city, $street= $street $house= $house \n"; # find location_street and/or location_city IDs if ($street && $city) { $street_get->execute($street, $street, "$city%"); my $srows = $street_get->fetchall_hashref('id'); if (scalar(keys %$srows) == 1) { foreach my $srow (keys %$srows) { $street_id = $srows->{$srow}->{'id'}; $city_id = $srows->{$srow}->{'cityid'}; } } else { $city_get->execute($street); if (my $srow = $city_get->fetchrow_hashref()) { $city_id = $srow->{'id'}; $orig_location =~ s/$city, //; } } } elsif ($city) { $city_get->execute($city); if (my $crow = $city_get->fetchrow_hashref()) { $city_id = $crow->{'id'}; } } # update node location if ($street_id || $city_id) { print "found\n" if not $quiet; $update->execute($city_id, $street_id, $house, $flat, $orig_location, $row->{'id'}); } else { print "not found\n" if not $quiet; } } "
root@testsql:/var/www/lms/bin# ./lms-teryt -m|egrep -i "^ap\ .*$|^br\ .*$" AP Młyn 1N (1440) Miasto, al. XX-lecia 34a: printuje $city= Miasto, $street= XX-lecia $house= 34a