Die "a"s am Ende bekomme ich nicht weg
Ich würde anders herangehen:
my $str = "aaaaaaaaaaaaa|XXX|aaaaaaaa|YYYY|aaaaaaa|ZZZZZ|aaaaaaaaaaaaaaaaaaaaaaaaa";
my @matches = $str =~ /(\|[^a]+?\|)/g;
print join '', @matches;
Nur so als Vorschlag, mit s/// fällt mir offen gestanden nichts vernünftiges ein.
Siechfred