$ perl -E 'my $pattern; say +(defined($pattern)) ? "YES" : "NO"' NO $ perl -E 'my $true = 1; say +(defined($true)) ? "YES" : "NO"' YES $ perl -E 'my $true = 1; my $pattern; say +(defined($pattern) && $true) ? "YES" : "NO"' NO $ perl -E 'my $true = 1; my $pattern; say +(defined($pattern) || $true) ? "YES" : "NO"' YES