(my @v = keys %foo) == 1 or die "Got more than one: @v\n"; print "V:@v\n"; #### Possible unintended interpolation of @v in string... Global symbol "@v" requires explicit package name... #### my $x = parse_thing(); my $y = $x->{item} or die "Item not found in x.\n"; my @z; (@z = do_xyz()) < 3 or die "Got extra Z: @z\n"; print "Z:@z\n";