use strict; use warnings; my $header = q{}; my $dataAccumulator; while( ) { chomp; if( m{^>} ) { printDataItem() if $header; ( $header ) = m{^.(\S+)}; $dataAccumulator = q{}; } else { $dataAccumulator .= $_; } } printDataItem(); sub printDataItem { print qq{>$header length=}, length $dataAccumulator, qq{\n$dataAccumulator\n}; } __DATA__ >IDnumber1 length=350 AGCTG AAGTCGCT >IDnumber2 length=350 AGAACGT ACC >IDnumber3 length=350 AGC ACTTCGCTAACT