morgon has asked for the wisdom of the Perl Monks concerning the following question:


I am a bit reluctant to ask this (as it sort of reveals how old I have become) but I finally retired my Palm about a year ago.

However I still want to hold on to some information stored on the device, so I am trying to parse the datebook and memo pdbs from a backup with perl.

Datebook seems to work, I can e.g. do this

use strict; use Data::Dumper; use Palm::Datebook; my $pdb = new Palm::Datebook; $pdb->Load("CalendarDB-PDat.pdb"); print Dumper($pdb);
And this produces something I can process further, however parsing memos does not work at all:
use strict; use Data::Dumper; use Palm::Memo; my $pdb = new Palm::Memo; $pdb->Load("MemosDB-PMem.pdb"); print Dumper($pdb);
This simply dies with

"No handler defined for creator "PMem", type "DATA"

It's been years since I last tried to parse pdbs with perl and while I can (vaguely) remember that I've had issues in the past I cannot remember anything, so I am looking for a way to parse palm memo-databases in perl...

Many thanks!

Replies are listed 'Best First'.
Re: parsing Palm databases
by haukex (Bishop) on May 18, 2019 at 08:03 UTC
      Thanks for your reply, however your code also produces the same error message on my system when I try to load "MemosDB-PMem.pdb".

      No handler defined for creator "PMem", type "DATA"

        On my system, MemoDB.pdb and MemosDB-PMem.pdb have exactly the same textual content (as per strings), with different binary formats. I can reproduce the error message with the latter file, but the former works. My understanding is that the latter file is from newer Palm versions, and I guess it's possible that if you have a newer Palm, you only have MemosDB-PMem.pdb? In that case, sorry, I'm not sure where to go from there, Google results are pretty thin. Have you tried J-Pilot? As far as I can tell from the source code, it can read both formats.