http://www.perlmonks.org?node_id=1016794


in reply to How to count substrings in an array?

You haven't really explained what you're ultimately trying to achieve here. If you put your question in terms of a concrete context, you'll probably get a better answer. Guidelines for doing this can be found here: How do I post a question effectively?

The following piece of code may do what you want or at least give you some idea of how to proceed.

$ perl -Mstrict -Mwarnings -E ' my @ary = qw{xyz xyx abc xxx def zyx}; my $sub = q{x}; my @counts = map { scalar @{[/$sub/g]} } grep { /$sub/ } @ary; say "All strings = ", scalar @ary; say "Strings with $sub in them = ", scalar @counts; say "Counts of $sub in strings containing $sub:"; say for @counts; ' All strings = 6 Strings with x in them = 4 Counts of x in strings containing x: 1 2 3 1

-- Ken