my $s = 'Hello [2][1]'; my @a = ('x','y','z'); my $array_name = 'a'; { no strict 'refs'; $s =~ s/\[(\d{1,2})\]/$array_name->[$1]/g; } print $s; #### my $s = 'Hello [2][1]'; my @a = ('x','y','z'); my $array_name = 'a'; my $array_ref = do { no strict 'refs'; \@$array_name }; $s =~ s/\[(\d{1,2})\]/$array_ref->[$1]/g; print $s; #### my $s = 'Hello [2][1]'; my @a = ('x','y','z'); my $array_ref = \@a; $s =~ s/\[(\d{1,2})\]/$array_ref->[$1]/g; print $s; #### my $s = 'Hello [2][1]'; my @a = ('x','y','z'); $s =~ s/\[(\d{1,2})\]/$a[$1]/g; print $s;