use strict; use warnings; my $foo; my $bar = 1; if( $bar - 1 ) { # line 7 print $bar; } elsif( $foo - 1 ) { # throws warning -- at line 7! print "$foo\n"; my $baz = 2 * $foo; } __END__ Use of uninitialized value in subtraction (-) at - line 7. Use of uninitialized value in concatenation (.) or string at - line 10. Use of uninitialized value in multiplication (*) at - line 11.