After first match (in if condition): $1=abc $2=def Use of uninitialized value $1 in concatenation (.) or string at ./pm_1143443_match_vars.pl line 12. Use of uninitialized value $2 in concatenation (.) or string at ./pm_1143443_match_vars.pl line 12. After second match (in substitution): $1= $2=