Использование split
:
my $line = '| A| B| Count| D| E|';
my @fields = split(/\|/, $line, -1);
shift(@fields); # Ignore stuff before first "|"
pop(@fields); # Ignore stuff after last "|"
say "<$_>" for @fields;
Выход:
< A>
< B>
< Count>
< D>
< E>
Использование соответствия регулярному выражению:
my $line = '| A| B| Count| D| E|';
my @fields = $line =~ / \| ([^|]*) (?=\|) /xg;
say "<$_>" for @fields;
Выход:
< A>
< B>
< Count>
< D>
< E>
Использование соответствия регулярному выражению (альтернатива):
my $line = '| A| B| Count| D| E|';
while ($line =~ / \| ([^|]*) (?=\|) /xg) {
say "<$1>";
}
Вывод:
< A>
< B>
< Count>
< D>
< E>