in reply to Regexp works with some elements and doesn't with others

Modifying the array while looping over it can cause strange behaviour. It upsets the internal iterator. Can you verify that it skips every second item of two consecutive occurences?

I suggest you use grep instead:

@text = grep { !m/^The website has been restructured/ } @text;