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

Hoping I can get this question answered here.

I have been trying to use perl to parse gedcom files and have not had much luck.

My main goal is to get it to show me a list of people and then the contents of the notes section of their record. My script is based on the example code found here:

http://search.cpan.org/dist/Gedcom/lib/Gedcom.pm

The only results I can seem to get back is the persons name and the reference number of the notes associated with that person.

I appreciate any help on this matter

Thanks

Script follows:

#!/bin/perl -w use strict; use Gedcom; my $ged = Gedcom->new(shift); for my $i ($ged->individuals) { for my $n ($i->get_value("note")) { print "========================================\n"; print $i->name, "\n"; print $i->note, "\n"; #print "========================================\n"; } }

Replies are listed 'Best First'.
Re: Reading notes in gedcom files?
by toolic (Bishop) on Apr 26, 2010 at 17:21 UTC

      Thanks to both of you.

      It's leaning toward a formatting issue with the way the source program creates the Gedcom files.

      I'll post again with the final outcome.

      Thanks, Rich

        To close this off, it would seem the Notes field in Gedcom files can accept many formats.

        The script below works as originally expected.

        Thanks for the help.

        #!/bin/perl -w use strict; use Gedcom; my $ged = Gedcom->new(shift); $ged->resolve_xrefs; for my $i ( $ged->individuals ) { for my $n ( $i->note ) { print "========================================\n"; print $i->name, "\n"; if (ref $n) { print $n->get_value, "\n"; } else { print "$n\n"; } #print "========================================\n"; } }
Re: Reading notes in gedcom files?
by ahmad (Hermit) on Apr 26, 2010 at 17:11 UTC

    Although I don't know what Gedcom is or what's used for

    I think your inner loop should have print $n instead of print $i->note