Hello, I have a question that I'd like to know why isn't possible do what I pretend to do. It's reading a variable from an array to use in an expression. Example: my @array = ('A1', 'A2', 'A3', $1, '$2'); my $message = 'If you choose a yellow car everyone will follow you!'; my $my_trigger = 'If you (.*) a (.*) car (.*) will follow you!'; if ($message =~ m/$my_trigger/g) { my $var1 = \$array[3]; my $option = \${$var1}; my $color = $2; my $whom = $3; print "option: " . $option; print "\ncolor: " . $color; print "\nwhom: " . $whom; } Why can I use inside the if $1, $2, $3 ... but can't use reading that value from an array. The question might not make sense for lot of people, but I am curious why doesn't work... only return to me as a string and not a variable. It's possible to return as a variable?