Perl modules for accessing PalmPilot(tm) data This information has been reverse engineered. It's correctness is in no way guaranteed. Usage: There are two sets of modules. One is the "Pilot" module, which is simply for dealing with PalmPilots in general. Right now, it allows you to install new apps (without having to run instapp), and it will tell you the date/time of the last HotSync. This module requires Win32::Registry (available with ActiveWare's port). To use the Pilot module, simply say, for example: use Pilot; my $pilot = new Pilot 'd:\pilot\wieglej'; # example print Pilot::DateText($pilot->LastSync), "\n"; $pilot->Install("d:\\sample.prc"); The other set is for processing PalmPilot databases. These modules do not currently supporting writing back changed data. That is planned for a future release. Using these modules requires setting up a database descriptor. The only reason that I use descriptors is so that I can process multiple categories into _different_ hashes, without having to read the database multiple times (which is a fairly slow process at the moment). Here is an example that prints out all of the names in the Address Book. This example assumes that you have no two records with the same First/Last name. If that were to happen, it would simply ignore the latter definition. use Pilot::AddrBook; %hash = (); $db = new Pilot::AddrBook; $db->Read('d:\pilot\wieglej\address\address.dat', "Personal" => { "Object" => \%hash, "Keysep" => " ", "Keyfields" => [ "Last", "First" ], }); foreach $key (sort keys %hash) { print $key, "\n"; } Note that these modules are in a very rough stage of development at the moment. There is support code in AddrBook for reading/writing BBDB databases using the precise same record format. At the moment it is still under development. Also, there is a CGI script named "tasklist.pl", which can be used for viewing your task list over the Web. I intend to support forms-based editing in the future, but that is also currently not working. 09/16/97 johnw@borland.com