Use array slicing:
my %patterns = ( 123 => [0,1,2], 312 => [2,1,0] ); my @matches = $string =~ m/$some_pattern/; return join '', @matches[@{$patterns{$patternkey}}];

In reply to Re: Double interpolation of captured substrings by Arunbear
in thread Double interpolation of captured substrings by bobf

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":