use strict; use warnings; sub testUnless { my $v = 'Navidson'; unless ( $v ) {}; # returns $v } sub testIfNot { my $v = 'Holloway'; if ( ! $v ) {}; # returns ! $v } sub testIf { my $v = 0; if ( $v ) {} # returns $v } sub testNothing { my $v = 'kyle'; if ( $v ) {} # returns nothing } printf "testUnless -> [%s]\n", testUnless(); printf "testIfNot -> [%s]\n", testIfNot(); printf "testIf -> [%s]\n", testIf(); printf "testNothing -> [%s]\n", testNothing(); __END__ testUnless -> [Navidson] testIfNot -> [] testIf -> [0] Use of uninitialized value in printf ... testNothing -> []