use strict; use warnings; use Data::Dumper; $Data::Dumper::Indent = 0; my $string_one = 'foo bar [a21] plus (b23) baz bax'; my @string_one_results = $string_one =~ m { (a|b) (\d+) }gx; print "RESULTS: " , Dumper(\@string_one_results), $/; # RESULTS: $VAR1 = ['a','21','b','23'];