use strict; use warnings; my @cleared = ( 'JOB::HEREISASTRING', 'Something', 'StringA', 'StringB', 'StringC', 'StringD', 'Something Else', 'StringE', 'StringF', 'StringG', 'StringH ', 'JOB::HEREISANOTHERSTRING', 'Something', 'StringI', 'StringJ', 'StringK', 'StringL', 'Something Else', 'StringM', 'StringN', 'StringO', 'StringP ', ); my @result; my $prefix = '~~Something~~'; foreach my $x (@cleared) { if ($x =~ /JOB::(.*)/) { $prefix = ""; } elsif ($x =~ m/^Something Else/) { $prefix = "~~Something Else~~"; } elsif ($x =~ m/^Something/) { $prefix = "~~Something~~"; } print "$prefix$x\n"; }