#!/usr/bin/perl -w use strict; use Palm::PDB; use Palm::Address; use Palm::StdAppInfo(); use vars qw/$pdb $addressbookfile @ISA $record $final $name $tmp $m $d $i $email $uid /; if ($ARGV[0] eq "" ) { print STDERR "No input file\n"; exit -1; } $addressbookfile="$ARGV[0]"; @ISA = qw(Palm::StdAppInfo); my $rcsid='$Id$'; $pdb = new Palm::PDB; $pdb->Load($addressbookfile); print " \n"; foreach $record (@{$pdb->{"records"}}){ $final = "{fields}{"name"}) { $final = $final." LastName=\"".$record->{fields}{"name"}."\""; $name = $record->{fields}{"name"}; } if ($record->{fields}{"firstName"}) { $final = $final." FirstName=\"".$record->{fields}{"firstName"}."\""; if( $name ne "" ) { $name = $name.", "; } $name = $name.$record->{fields}{"firstName"}; } if ($record->{fields}{"company"}) { $final = $final." Company=\"".$record->{fields}{"company"}."\""; $name = $name." (".$record->{fields}{"company"}.")"; } if ($record->{fields}{"address"}) { $final = $final." HomeStreet=\"".$record->{fields}{"address"}."\""; } if ($record->{fields}{"city"}) { $final = $final." HomeCity=\"".$record->{fields}{"city"}."\""; } if ($record->{fields}{"zipCode"}) { $final = $final." HomeZip=\"".$record->{fields}{"zipCode"}."\""; } if ($record->{fields}{"country"}) { $final = $final." HomeCountry=\"".$record->{fields}{"country"}."\""; } if ($record->{fields}{"title"}) { $final = $final." JobTitle=\"".$record->{fields}{"title"}."\""; } if ($record->{fields}{"custom2"}) { $tmp = $record->{fields}{"custom2"}; if ($tmp =~ s/([0-9]*). ([0-9]*). ([0-9]*)/$3/ ) { $m = $2; $d = $1; if ( $m =~ m/[0-9][0-9]/ ) { $tmp = $tmp.$m; } else { $tmp = $tmp."0".$m; } if ( $d =~ m/[0-9][0-9]/ ) { $tmp = $tmp.$d; } else { $tmp = $tmp."0".$d; } $final = $final." Birthday=\"".$tmp."\""; } } for($i = 0; $i<8; $i++) { if ($tmp = $record->{fields}{"phone$i"}) { if ($record->{phoneLabel}{"phone$i"} == 0) { $final = $final." BusinessPhone=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 1) { $final = $final." HomePhone=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 2) { $final = $final." BusinessFax=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 3) { $final = $final." Other=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 4) { if( $email eq "") { $email = " Emails=\"".$tmp; $final = $final." DefaultEmail=\"".$tmp."\""; } else { $email = $email.", ".$tmp; } } if ($record->{phoneLabel}{"phone$i"} == 5) { $final = $final." HomePhone=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 6) { $final = $final." BusinessPager=\"".$tmp."\""; } if ($record->{phoneLabel}{"phone$i"} == 7) { $final = $final." HomeMobile=\"".$tmp."\""; } } } if ( $email ne "" ) { $final=$final.$email."\""; } if ($record->{fields}{"custom4"}) { $final = $final." Nickname=\"".$record->{fields}{"custom4"}."\""; if ( $name eq "" ) { $name = $record->{fields}{"custom4"}; } } if ($record->{fields}{"note"}) { $tmp = $record->{fields}{"note"}; $tmp =~ s/\"/"/g; $tmp =~ s//>/g; $tmp =~ s/\'/'/g; $final = $final." Notes=\"".$tmp."\""; } $final = $final." FileAs=\"".$name."\""; $final = $final." />"; print "$final\n"; } print " \n";