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.