8 # Returns a list presented to it, but also returns a single
9 # undef if given a list of a single undef. This mimics the
10 # behaviour of many user-defined subs and built-ins (eg: open) that
11 # always return undef regardless of context.
13 # We also do an 'empty return' if no arguments are passed. This
14 # mimics the PBP guideline for returning nothing.
17 return undef if (@_ == 1 and not defined $_[0]);
23 ### autodie clobbering tests ###
29 is($@, "", "No autodie, no fatality");
32 use autodie qw(list_mirror);
36 ok($@, "Autodie fatality for empty return in void context");
42 is($@, "", "No autodie, no fatality (after autodie used)");
45 use autodie qw(list_mirror);
49 ok($@, "Autodie fatality for undef return in void context");
52 use autodie qw(list_mirror);
53 my @list = list_mirror();
56 ok($@,"Autodie fatality for empty list return");
59 use autodie qw(list_mirror);
60 my @list = list_mirror(undef);
63 ok($@,"Autodie fatality for undef list return");
66 use autodie qw(list_mirror);
67 my @list = list_mirror("tada");
70 ok(! $@,"No Autodie fatality for defined list return");
73 use autodie qw(list_mirror);
74 my $single = list_mirror("tada");
77 ok(! $@,"No Autodie fatality for defined scalar return");
80 use autodie qw(list_mirror);
81 my $single = list_mirror(undef);
84 ok($@,"Autodie fatality for undefined scalar return");