my $locus; while (<$in>) { if ( /LOCUS\s+(\w+)/ ) { $locus = $1; } elsif ( /\^\^/ ) { if ( $locus ) { s/\^\^/>$locus\n^^\n/g; } else { warn "Found ^^ without a preceding LOCUS value\n"; } } print $out $_; } #### ( $locus ) = ( /LOCUS\s+(\w+)/ );