use strict; use warnings; my $matchCount = 0; while( ) { $matchCount += () = m{( first_string | second_string | third_string | fourth_string | fifth_string)}xg; } print qq{$matchCount matches found\n}; __DATA__ This is a test file matchme ljldjlfjd l;djfldjlf d test test test dljfldjlfjldjfldjlljdf one second_string dlfjldfj ljdfldjjf ldjfljdl dfljdlfj dfdlfj three ljfldjlj dlfjlasdj foiidufoiida matchdf dljfldsaofuoidfousdaof ladsjflasdof first_string dlfjodsuofuasdo sadoufosadu foasduf aosduf third_string #### 3 matches found #### use strict; use warnings; my @matches = (); my $matchCount = 0; while( ) { $matchCount += my( @caps ) = m{( first_string | second_string | third_string | fourth_string | fifth_string)}xg; push @matches, @caps; } print qq{$matchCount matches found: @matches\n}; __DATA__ This is a test file matchme ljldjlfjd l;djfldjlf d test test test dljfldjlfjldjfldjlljdf one second_string dlfjldfj ljdfldjjf ldjfljdl dfljdlfj dfdlfj three ljfldjlj dlfjlasdj foiidufoiida matchdf dljfldsaofuoidfousdaof ladsjflasdof first_string dlfjodsuofuasdo sadoufosadu foasduf aosduf third_string #### 3 matches found: second_string first_string third_string