Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: parsing Palm databases

by haukex (Archbishop)
on May 18, 2019 at 08:03 UTC ( #11100219=note: print w/replies, xml ) Need Help??

in reply to parsing Palm databases

I use palm2ical from, which uses Palm::Datebook, although that doesn't do memos. However, looking at its code, plus the examples in Palm distro, gives me this code, which works for me:

use Palm::Memo; my $pdb = Palm::PDB->new(); $pdb->Load($filename); use Data::Dump; dd $pdb;

Another alternative, although not Perl, is to use J-Pilot to open the files directly.

Replies are listed 'Best First'.
Re^2: parsing Palm databases
by morgon (Priest) on May 19, 2019 at 01:56 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.

        What seems to have happened is that Palm changed the Memo-DB format but it seems they never documented the new format which may explain why nobody incorporated these changes into Palm::Memo.

        J-Pilot (though I have not tried it) seems to be able to handle it though - they must have reverse-engineered the format (it may be a nice exercise to use that for updating Palm::Memo)

        But for me the workaround is to simply use Palm::Raw, I can live with what I can get with that, eg:

        use Palm::PDB; use Palm::Raw; use Data::Dumper; my $pdb = new Palm::PDB; $pdb->Load("MemosDB-PMem.pdb"); print Dumper($pdb);

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11100219]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2023-06-07 14:57 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (29 votes). Check out past polls.