##
use Modern::Perl;
my @patterns = map "abc$_", 1 .. 10;
my $str = join ' ', map { $_ = int( rand(10) ) + 1; "abc$_" } 1 .. 25;
say "String:\n$str\n\nContains:";
say "$_: " . @{ [ $str =~ /\b$_\b/g ] } for @patterns;
####
String:
abc9 abc6 abc2 abc7 abc3 abc10 abc2 abc10 abc1 abc3 abc2 abc1 abc4 abc4 abc2 abc4 abc8 abc10 abc10 abc7 abc3 abc10 abc6 abc1 abc8
Contains:
abc1: 3
abc2: 4
abc3: 3
abc4: 3
abc5: 0
abc6: 2
abc7: 2
abc8: 2
abc9: 1
abc10: 5