sub unfold_field {
  my ($fieldname, @header) = @_;
  my (@field,$unfoldedfield,$infield);
  $infield = 0;
  foreach my $l (@header) {
    if( $infield ) {
      if ( ($l) =~ /^([ \t]+.*?)/i ) {
        $l =~ s/^[ \t]+//;
        push @field, ($l);
      } else {
        $infield = 0;
      }
    } elsif( ($l) =~ /$fieldname\s(.*)/i ) {
      push @field, ($1);
      $infield = 1;
    }
  }
  $unfoldedfield = join "\n ", @field;
  $unfoldedfield =~ s/\n\s+/, /g;
  return $unfoldedfield;
}

Example 2: An address unfolding subroutine.

Back to Article