"my" variable $foo masks earlier declaration in same scope at noname.pl line 8. Use of uninitialized value in concatenation (.) or string at noname.pl line 14. $foo = $foo = 2