Author image Johan Vromans


Palm::ListDB::Writer - Create databases for Palm List application


  use Palm::ListDB::Writer;
  my $db = new Palm::ListDB::Writer
    "label1" => "Name",
    "label2" => "Address");
  $db->add("Private", "Wife", "16 Localstreet, Netcity", "Some comments");
  $db->add("Public", "John Doe", "1 Main St., Connecticut", "Blah blah");


  Palm::ListDB::Writer creates databases for the Palm utility List.


Palm::ListDB::Writer can be used to create databases for the Palm utility List, a simple but convenient database application. List is written by Andrew Low (,

List databases consist of a collection of records, each having two label fields and one note field (arbitrary data).

The basic usage is to create a Palm::ListDB::Writer object with attributes like the name of the database, the primary and secondary field labels, and then add records by calling its add() method.

The write() method writes the collected data out in the form of a Palm database.

Limitations posed by the Palm operating system and/or the List application: database name - 31 characters; field names - 15 characters; category names - 15 characters; 15 categories excluding the default (Unfiled) catagory; field values - 63 characters; length of note data - 1023 characters.

This module is not related to Palm::ListDB; the latter can also import Palm List databases, and requires some knowledge about Palm databases.


new database, [ attributes ]

Default constructor for a new database object.

new() requires one argument, the name of the database.

Initial attributes for the database can be specified after the database name in the form of key => value pairs:


The name for the primary record field, max. 15 characters.


The name for the secondary record field, max. 15 characters.


An array reference with the names of the categories. Max. 15 categories are allowed, and category names must not exceed 15 characters in length.


If non-zero, new categories are automatically added when records are added. Defaults to true if no initial category names were supplied.

Additional methods can be added later with the add_cat() method.


If true, the database will be readonly and cannot be modified by the List application.


If false, the database will not be backupped upon the next HotSync. Note that the List application may change this, for example when modifications are made.


If true, the database is private and cannot be beamed.


Controls truncation of names and fields that are too long. If zero, no truncation takes place (the program is terminated). If one, excess data for the record fields is truncated. If two, also truncates names for categories and fields. If three, also truncates the name of the database if needed.

add category, field1, field2, note data

As the name suggests, add() adds records to the database.

Add() takes exactly four arguments: the category for the record, its first field, its second field, and the note data. Fields may be left empty (or undefined), but not all of them.

If the named category does not exists, and autocat is in effect, it is automatically added to the list of categories.

Add() returns true if the record was successfully added.

add_cat name

Adds a new category. One parameter, the name of the category to be added. If the category already exists, nothing happens.


Returns an array with the current set of categories. Note that this excludes the (default) 'Unfiled' category.

write filename

Write() takes one argument: the file name for the database.

Returns true if the database was successfully written.

SEE ALSO web site for the Palm List application.



Johan Vromans, <>


Copyright 2003,2017 by Squirrel Consultancy

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 445:

You forgot a '=back' before '=head1'