Since split discards an empty trailing string (but not a leading one), one option would be to add a character to the end that can't be part of the delimiter. Then you can split and take everything except the first and last elements:
#!/usr/bin/perl use Modern::Perl; my $a = 'catonecattwocatthreecatfourcat'; $a .= ' '; my @w = split /cat/, $a; say "$_ -> " . length($_) for @w[1..@w-2]; one -> 3 two -> 3 three -> 5 four -> 4
Aaron B.
My Woefully Neglected Blog, where I occasionally mention Perl.
In reply to Re^4: How can I count characters between two same substrings in a string where the substring is repeated more than 5 times?
by aaron_baugher
in thread How can I count characters between two same substrings in a string where the substring is repeated more than 5 times?
by supriyoch_2008
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |