in reply to Simple regular expression that isn't simple

If your data truely looks that way, why don't you avoid all that aggravation and just slurp in the file in paragraph mode?

use warnings; use strict; my @sequences; { local $/ = ''; @sequences = <DATA>; } print @sequences; __DATA__ >gi|77641047|gb|ABB00395.1| I2 [Lycopersicon esculentum] TRTPSTSLVVDSGIFGRQNEIEDLVGRLLSMDTKGKNLAVVPIVGMGGLGKTTLAKAVYNDERVKKHFGL TAWFCVSEAYDAFRITKGILQEIGSTDLKADHNLNQLQVKVKESLKGKKFLIVLDDVWNDNYNEWDDLRN IFVQGDIGSKIIVTTRKNSVALMMGNEQISMNNLSTEASWSLFKRHAFENMNPMGYPELEEVGKQIAAKC KGLPLALKTLAGMLCSKSEIDEWKRILR>SEIW >gi|77641045|gb|ABB00394.1| I2 [Lycopersicon esculentum] TRTPSTSLVVDSGIFGRQNEIEDLVGRLLSMDTKGKNLAVVPIVGMGGLGKTTLAKAVYNDERVKKHFGL TAWFCVSEAYDAFRITKGILQEIGSTDLKADHNLNQLQVKVKESLKGKKFLIVLDDVWNDNYNEWDDLRN >gi|77641047|gb|ABB00395.1| I2 [Lycopersicon esculentum] TRTPSTSLVVDSGIFGRQNEIEDLVGRLLSMDTKGKNLAVVPIVGMGGLGKTTLAKAVYNDERVKKHFGL TAWFCVSEAYDAFRITKGILQEIGSTDLKADHNLNQLQVKVKESLKGKKFLIVLDDVWNDNYNEWDDLRN IFVQGDIGSKIIVTTRKNSVALMMGNEQISMNNLSTEASWSLFKRHAFENMNPMGYPELEEVGKQIAAKC KGLPLALKTLAGMLCSKSEIDEWKRILRSEIW >gi|77641045|gb|ABB00394.1| I2 [Lycopersicon esculentum] TRTPSTSLVVDSGIFGRQNEIEDLVGRLLSMDTKGKNLAVVPIVGMGGLGKTTLAKAVYNDERVKKHFGL TAWFCVSEAYDAFRITKGILQEIGSTDLKADHNLNQLQVKVKESLKGKKFLIVLDDVWNDNYNEWDDLRN