Bryan,

Many thanks for the quick response.

There are times when the proper order would be $a, $n, $p, $b, $c, as well,
aren't there?
Thanks for the forwarning - I haven't been told that yet - I'm not involved in the production of the data just in extracting it for publishing! This is proving to be something of a baptism by fire.

According to the POD in MARC::Field:
"Or if you think there might be more than one you can get all of them by
calling in a list context:

   my @subfields = $field->subfield( 'a' );"

Alternatively, get all subfields in the field and parse as needed:

my $field245 = $record->field('245');
my @subfields = $field245->subfields();

while (my $subfield = pop(@subfields)) {
   my ($code, $data) = @$subfield;
   #do something with data

   #or add code and data to array
   unshift (@newsubfields, $code, $data);
} # while
This look like something I can sit down this evening and work on to trya nd understand.

Many thanks again - any other suggestions welcome.

Reply via email to