"my" variable $s masks earlier declaration in same scope at test.pl line 8. define var: s1 Use of uninitialized value $s in concatenation (.) or string at test.pl line 13. sub: define var: s1-2nd sub: s1-2nd