#! /usr/bin/perl
use warnings;
use strict;
my (@x, @y, $line);
open SOURCE, "< source.txt";
for $line (<SOURCE>) {
if ($line =~ /^# >/) {
@x = split /\s+/, $line;
$x[1] =~ s/>//;
open DEST, ">> output.txt";
print DEST "$line";
close DEST;
next;
}
else {
@y = split /\t/, $line;
$y[0] =~ s/$y[0]/$x[1]/;
open DEST, ">> output.txt";
print DEST join "\t", @y;
close DEST;
}
}
close SOURCE;
source.txt:
------------------
# >length=1
seq program data 909 1992
seq program record 909 1190
# >length=2
seq program data 909 1992
seq program record 909 1190
output.txt:
-------------------
# >length=1
length=1 program data 909 1992
length=1 program record 909 1190
# >length=2
length=2 program data 909 1992
length=2 program record 909 1190