xref: /openbsd-src/gnu/usr.bin/perl/t/op/defined.t (revision b8851fcc53cbe24fd20b090f26dd149e353f6174)
191f110e0Safresh1#!perl
291f110e0Safresh1BEGIN {
3*b8851fccSafresh1    chdir 't' if -d 't';
491f110e0Safresh1    require './test.pl';
591f110e0Safresh1}
691f110e0Safresh1
791f110e0Safresh1plan 5;
891f110e0Safresh1
991f110e0Safresh1sub notdef { undef }
1091f110e0Safresh1
1191f110e0Safresh1# [perl #97466]
1291f110e0Safresh1# These should actually call the sub, instead of testing the sub itself
1391f110e0Safresh1ok !defined do { &notdef }, 'defined do { &sub }';
1491f110e0Safresh1ok !defined(scalar(42,&notdef)), 'defined(scalar(42,&sub))';
1591f110e0Safresh1ok !defined do{();&notdef}, '!defined do{();&sub}';
1691f110e0Safresh1
1791f110e0Safresh1# Likewise, these should evaluate @array in scalar context
1891f110e0Safresh1no warnings "deprecated";
1991f110e0Safresh1ok defined($false ? $scalar : @array), 'defined( ... ? ... : @array)';
2091f110e0Safresh1ok defined(scalar @array), 'defined(scalar @array)';
21