---
name: "Address"
section: "3pm"
platform: "linux"
package: "libpalm-perl"
version: "1:1.012-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Address"
---

# Address(3pm)

Handler for Palm AddressBook databases

## NAME

Palm::Address - Handler for Palm AddressBook databases

## SYNOPSIS

```
    use Palm::Address;
```

## DESCRIPTION

The Address PDB handler is a helper class for the Palm::PDB package. It parses AddressBook databases.

### AppInfo block

The AppInfo block begins with standard category support. See Palm::StdAppInfo for details.

Other fields include:

```
    $pdb->{appinfo}{lastUniqueID}
    $pdb->{appinfo}{dirtyFields}
```

I don't know what these are.

```
    $pdb->{appinfo}{fieldLabels}{name}
    $pdb->{appinfo}{fieldLabels}{firstName}
    $pdb->{appinfo}{fieldLabels}{company}
    $pdb->{appinfo}{fieldLabels}{phone1}
    $pdb->{appinfo}{fieldLabels}{phone2}
    $pdb->{appinfo}{fieldLabels}{phone3}
    $pdb->{appinfo}{fieldLabels}{phone4}
    $pdb->{appinfo}{fieldLabels}{phone5}
    $pdb->{appinfo}{fieldLabels}{phone6}
    $pdb->{appinfo}{fieldLabels}{phone7}
    $pdb->{appinfo}{fieldLabels}{phone8}
    $pdb->{appinfo}{fieldLabels}{address}
    $pdb->{appinfo}{fieldLabels}{city}
    $pdb->{appinfo}{fieldLabels}{state}
    $pdb->{appinfo}{fieldLabels}{zipCode}
    $pdb->{appinfo}{fieldLabels}{country}
    $pdb->{appinfo}{fieldLabels}{title}
    $pdb->{appinfo}{fieldLabels}{custom1}
    $pdb->{appinfo}{fieldLabels}{custom2}
    $pdb->{appinfo}{fieldLabels}{custom3}
    $pdb->{appinfo}{fieldLabels}{custom4}
    $pdb->{appinfo}{fieldLabels}{note}
```

These are the names of the various fields in the address record.

```
    $pdb->{appinfo}{country}
```

An integer: the code for the country for which these labels were designed. The country name is available as

```
        $Palm::Address::countries[$pdb->{appinfo}{country}];
    $pdb->{appinfo}{misc}
```

An integer. The least-significant bit is a flag that indicates whether the database should be sorted by company. The other bits are reserved.

### Sort block

```
    $pdb->{sort}
```

This is a scalar, the raw data of the sort block.

### Records

```
    $record = $pdb->{records}[N];
    $record->{fields}{name}
    $record->{fields}{firstName}
    $record->{fields}{company}
    $record->{fields}{phone1}
    $record->{fields}{phone2}
    $record->{fields}{phone3}
    $record->{fields}{phone4}
    $record->{fields}{phone5}
    $record->{fields}{address}
    $record->{fields}{city}
    $record->{fields}{state}
    $record->{fields}{zipCode}
    $record->{fields}{country}
    $record->{fields}{title}
    $record->{fields}{custom1}
    $record->{fields}{custom2}
    $record->{fields}{custom3}
    $record->{fields}{custom4}
    $record->{fields}{note}
```

These are scalars, the values of the various address book fields.

```
    $record->{phoneLabel}{phone1}
    $record->{phoneLabel}{phone2}
    $record->{phoneLabel}{phone3}
    $record->{phoneLabel}{phone4}
    $record->{phoneLabel}{phone5}
```

Most fields in an AddressBook record are straightforward: the "name" field always gives the person's last name.

The "phone*N*" fields, on the other hand, can mean different things in different records. There are five such fields in each record, each of which can take on one of eight different values: "Work", "Home", "Fax", "Other", "E-mail", "Main", "Pager" and "Mobile".

The `$record`-\>{phoneLabel}{phone\*} fields are integers. Each one is an index into `@Palm::Address::phoneLabels`, and indicates which particular type of phone number each of the `$record`-\>{phone\*} fields represents.

```
    $record->{phoneLabel}{display}
```

Like the phone\* fields above, this is an index into `@Palm::Address::phoneLabels`. It indicates which of the phone\* fields to display in the list view.

```
    $record->{phoneLabel}{reserved}
```

I don't know what this is.

## METHODS

### new

```
  $pdb = new Palm::Address;
```

Create a new PDB, initialized with the various Palm::Address fields and an empty record list.

Use this method if you're creating an Address PDB from scratch.

### new\_Record

```
  $record = $pdb->new_Record;
```

Creates a new Address record, with blank values for all of the fields. The AppInfo block will contain only an "Unfiled" category, with ID 0.

`"new_Record"` does **not** add the new record to `$pdb`. For that, you want `"$pdb->append_Record"`.

## SOURCE CONTROL

The source is in Github:

```
        http://github.com/briandfoy/p5-Palm/tree/master
```

## AUTHOR

Alessandro Zummo, `"<a.zummo@towertech.it>"`

Currently maintained by brian d foy, `"<bdfoy@cpan.org>"`

## SEE ALSO

*Palm::PDB*(3)

*Palm::StdAppInfo*(3)

## BUGS

The *new()* method initializes the AppInfo block with English labels and "United States" as the country.
