use strict; use warnings; my $litPipe = q{\|}; my $rxBetween = qr {(?x) (?: (?<=\A) | (?<=$litPipe) ) (?=$litPipe|\n) }; while () { s{$rxBetween}{EMPTY}g; print; } __END__ a|b|c|d|e f||h|i|j |l|m|n|o ||||t u|v|w|x|