sub foo { my $c = shift; bar( sub { ni($c) } ); return(0); }; foo( sub {die 'it worked'} ) || die "we failed\";