The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Geo::Postcodes::DK - Danish postcodes with associated information

SYNOPSIS

This module can be used object oriented, or as procedures. Take your pick.

OBJECTS

use Geo::Postcodes::DK qw(valid);

my $postcode = '1171';

if (valid($postcode)) # A valid postcode? { my $P = Geo::Postcodes::DK->new($postcode);

  printf "Postcode         '%s'.\n", $P->postcode();
  printf "Postal location: '%s'.\n", $P->location();
  printf "Borough:         '%s'.\n", $P->borough();
  printf "County:          '%s'.\n", $P->county();
  printf "Postcode type:   '%s'.\n", $P->type(); 
  printf "Owner:           '%s'.\n", $P->owner();
  printf "Address:         '%s'.\n", $P->address();
}

The test for a valid postcode can also be expressed this way:

my $P = Geo::postcodes::DK->new($postcode);

if ($P) { ... }

PROCEDURES

use Geo::postcodes::DK ':all';

my $postcode = "1171";

if (valid($postcode)) { printf "Postcode" '%s'.\n", $postcode; printf "Postal location: '%s'.\n", location_of($postcode); printf "Postcode type: '%s'.\n", type_of($postcode); printf "Owner: '%s'.\n", owner_of($postcode); printf "Address: '%s'.\n", address_of($postcode); }

ABSTRACT

Geo::postcodes::DK - Perl extension for the mapping between danish (including Grønland and Færøerne) postcodes, postal location, address and address owner.

DESCRIPTION

Tired og entering the postal name all the time? This is not necessary, as it is uniquely defined from the postcode. Request the postcode only, and use this library to get the postal name.

EXPORT

None by default.

The procedures can be imported individually, or en block with use Geo::postcodes::DK ':all';.

DEPENDENCIES

This module is a subclass of Geo::Postcodes, which must be installed first.

PROCEDURES and METHODS

These functions can be used as methods or procedures.

is_method

my $boolean = Geo::postcodes::DK::is_method($method);

my $boolean = $object->is_method($method);

Does the specified method exist.

methods

my @methods = Geo::postcodes::DK::methods();

my @methods = $object->methods();

A list of legal methods.

selection

See the Geo::Postcodes manual.

PROCEDURES

Note that the xxx_of procedures return undef when passed an illegal argument.

my $boolean = Geo::postcodes::DK::legal($postcode);

Do we have a legal postcode; a code that follows the syntax rules?

valid

my $boolean = Geo::postcodes::DK::valid($postcode);

Do we have a valid postcode; a code in actual use?

location_of

my $location = Geo::postcodes::DK::location_of($postcode);

The postal place associated with the specified postcode.

owner_of

my $owner = Geo::postcodes::DK::owner_of($postcode);

The owner (company) of the postcode, if any.

address_of

my $address = Geo::postcodes::DK::address_of($postcode);

The address (street) associated with the specified postcode.

type_of

my $type = Geo::postcodes::DK::type_of($postcode);

What kind of postcode is this. The values, as given by the danish postal service, are: "Postboks", "Personlig eier", "Ufrankerede svarforsendelser", and "Gateadresse".

This information may not be especially useful.

METHODS

new

my $P = Geo::postcodes::DK->new($postcode);

Create a new postcode object.

The constructor will return undef when passed an invalid or illegal postcode. See the description of the legal and valid procedures above.

Either check the postcode with legal before this call, or test it afterwards; if ($P) { ... }.

postcode

my $postcode = $P->postcode();

The postcode.

location

my $location = $P->location();

The postal location associated with the specified postcode.

type

my $type = $P->type();

See the description of the procedure type_of above.

CAVEAT

POSTCODES

Danish postcodes (including Grønland) are four digit numbers ("0000" to "9999"), while Færøerne uses three digits numbers ("000" to "999"). This means that "0010" and "010" are legal, while "10" is not.

Use legal to check for legal postcodes, and valid to check if the postcode is actually in use. Geo::postcodes::DK-new($postcode)> will return undef if passed an illegal or invalid postcode.

An attempt to access the methods of a non-existent postcode object will result in a runtime error. This can be avoided by checking if the postal code is legal, before creating the object; valid($postcode) returns true or false.

CHARACTER SET

The library was written using the ISO-8859-1 (iso-latin1) character set, and the special danish letters 'Æ', 'Ø' and 'Å' occur regularly in the postal places, kommune name and fylke name. Usage of other character sets may cause havoc. Unicode is not tested.

SEE ALSO

The latest version of this library should always be available on CPAN, but see also the library home page; http://bbop.org/perl/GeoPostcodes for addittional information and sample usage.

AUTHOR

Arne Sommer, <arne@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Arne Sommer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 1650:

Non-ASCII character seen before =encoding in 'Grønland'. Assuming CP1252