#!/usr/local/bin/perl -w use strict; my @text_remove = ('[TEXT-2]', '[TEXT-4]', '[TEXT-7]'); my @xlate_data = ('[TEXT-1] Data Test ', '[TEXT-2] Second line tacked onto #1', '[TEXT-3] Line #3', '[TEXT-4] 4th line goes with #3', '[TEXT-5] five-five-FIVE', '[TEXT-6] Five was a Zappa reference...', '[TEXT-7] This is a longer entry. But really not much different. I should be part of #6'); my $rm_pos = 0; foreach my $move (@text_remove) { print "O: $rm_pos ~ $move\n"; my $xlate_pos = 0; foreach my $data (@xlate_data) { if ($data =~ /^\Q$move\E/) { print "I: $rm_pos ~ $move ~ $data\n\n"; $data =~ s/^\Q$move\E\s*/ /; $xlate_data[$xlate_pos -1] .= $data; splice(@xlate_data, $xlate_pos, 1); #remove entry to shorten loops } $xlate_pos++; # splice(@text_remove, $rm_pos, 1); #remove token entry to shorten loops } $rm_pos++; } foreach (@xlate_data) { print "NOW: $_\n"; }