Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Zip Code Module?

by sgifford (Prior)
on Dec 17, 2004 at 01:47 UTC ( #415525=note: print w/replies, xml ) Need Help??

in reply to Re: Zip Code Module?
in thread Zip Code Module?

I use this module frequently, and it works great. I'd highly recommend it. You'll need to download the postal code data before it will complete "make test" succesfully.

Replies are listed 'Best First'.
Re^3: Zip Code Module?
by powerhouse (Friar) on Dec 17, 2004 at 02:30 UTC
    What do you mean, "download the postal code data"?

    I tried this module, I installed it, using WHM (a cPanel Product) with the Install a Perl Module, it appeared to work ok, however, when I use the 'sample' code:
    use Geo::PostalCode; my $gp = Geo::PostalCode->new(db_dir => "."); my $record = $gp->lookup_postal_code(postal_code => '07302'); my $lat = $record->{lat}; my $lon = $record->{lon}; my $city = $record->{city}; my $state = $record->{state}; my $distance = $gp->calculate_distance(postal_codes => ['07302','100 +04']); $record = $gp->lookup_city_state(city => "Jersey City",state => "NJ" +); $lat = $record->{lat}; $lon = $record->{lon}; my $postal_codes = $record->{postal_codes}; $postal_codes = $gp->nearby_postal_codes(lat => $lat, lon => $lon, distance => 50); print qq~<br> City is ~ . $city . qq~<br> State is ~ . $state . qq~<br> Latitude is ~ . $lat . qq~<br> Longitude is ~ . $lon . qq~<br> <br> Nearby Zips are: $postal_codes~;
    (ran as a test) and I had this 'output':
    City is
    State is
    Latitude is
    Longitude is

    Nearby Zips are: ARRAY(0x8674890)

    So, could what you said, be the reason why it's not working?

    I would appreciate your help.

      As sifen said, you need to download the postal code database, as explained in the INSTALL file. This is an unfortunate aspect of this module. The author said he'd accept a fix if I emailed him one; perhaps in the next few weeks I can find some time to do that.

      I think part of your problem, though, is that $postal_codes has an array reference, so you need to print it like this:

      print "@$postal_codes";
        In the install file this is said: "Make sure to install the postalcode.db, city.db and latlon.db files in an approriate directory."

        I don't see where any of the .db files are. They are not in the .gz file that it shows. Where are those located? I went up one directory, and looked in all the files, they are not there, either.


      I'm really sorry about this. Unlike sgifford, I have actually never used this module. I guess I assumed that it would be straight forward to install.

      I figured out it's not actually.

      I would have attempted to recreate your exact environment so as to figure out what to do, but as I don't have access to cPanel, I used CPAN. It didn't install cleanly and failed most of it's make tests. My solution was to find the build directory made by CPAN, download said data, and run make test and make install by hand.

      That probably wasn't too helpful, so bellow is *actually* what I did:

      sudo cpan install Geo::PostalCode lwp-download gunzip Geo-PostalCode_19991101.txt.gz cd ~/.cpan/build/Geo-PostalCode-0.06/ sudo cp ~/Geo-PostalCode_19991101.txt ./ sudo ./ sudo make test sudo make install perl -e 'use Geo::PostalCode'

      That got it to install and pass the two sets of test code included with the module. The script seems to take the downloaded textfile and separate it out into three db files. I also tried downloading the first source I gave you, and although it works, it gives you one DBase db, and I'm not really sure how you would use it ( thought you probably could ).

      Hopefully *this* time I've acutally been some help to you.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://415525]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2021-03-03 03:01 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (69 votes). Check out past polls.