Cross Reference: first.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
ext
/
List
/
Util
/
t
/
first.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
1
N/A
#!./perl
1
N/A
1
N/A
BEGIN
{
1
N/A
unless
(-d
'blib'
)
{
1
N/A
chdir
't'
if
-d
't'
;
1
N/A
@
INC
=
'../lib'
;
1
N/A
require
Config
;
import
Config
;
1
N/A
keys
%
Config
;
# Silence warning
1
N/A
if
(
$Config
{
extensions
} !~ /\
bList
\/
Util
\b/)
{
1
N/A
print
"1..0 # Skip: List::Util was not built\n"
;
1
N/A
exit
0
;
1
N/A
}
1
N/A
}
1
N/A
}
1
N/A
1
N/A
use
List
::
Util
qw
(
first
)
;
1
N/A
1
N/A
print
"1..8\n"
;
1
N/A
1
N/A
print
"not "
unless
defined
&
first
;
1
N/A
print
"ok 1\n"
;
1
N/A
1
N/A
print
"not "
unless
9
==
first
{
8
==
($_ -
1
)
}
9
,
4
,
5
,
6
;
1
N/A
print
"ok 2\n"
;
1
N/A
1
N/A
print
"not "
if
defined
(
first
{
0
}
1
,
2
,
3
,
4
);
1
N/A
print
"ok 3\n"
;
1
N/A
1
N/A
print
"not "
if
defined
(
first
{
0
});
1
N/A
print
"ok 4\n"
;
1
N/A
1
N/A
my
$foo
=
first
{ $_->[
1
]
le
"e"
and
"e"
le
$_->[
2
] }
1
N/A
[
qw
(a b c)
], [
qw
(d e f)
], [
qw
(g h i)
];
1
N/A
print
"not "
unless
$foo
->[
0
]
eq
'd'
;
1
N/A
print
"ok 5\n"
;
1
N/A
1
N/A
# Check that eval{} inside the block works correctly
1
N/A
my
$i =
0
;
1
N/A
print
"not "
unless
5
==
first
{
eval
{
die
};
($i ==
5
, $i = $_)
[
0
] }
0
,
1
,
2
,
3
,
4
,
5
,
5
;
1
N/A
print
"ok 6\n"
;
1
N/A
1
N/A
print
"not "
if
defined
eval
{
first
{
die
if
$_ }
0
,
0
,
1
};
1
N/A
print
"ok 7\n"
;
1
N/A
1
N/A
($x)
=
foobar
()
;
1
N/A
$x =
''
unless
defined
$x;
1
N/A
print
"${x}ok 8\n"
;
1
N/A
1
N/A
sub
foobar
{
first
{ !
defined
(
wantarray
)
||
wantarray
}
"not "
,
"not "
,
"not "
}
1
N/A