in reply to Re: How to test for empty hash?
in thread How to test for empty hash?
Ah hah! This example clarifies my thinking a great deal. As I started this exercise writing a regression test, I kept having trouble inside ok() and is(). (This was using the Test2 suite, but here I will just use Test::Simple.)
This works in its entirety:#!/usr/bin/perl use Test::Simple (tests => 9); use strict; use warnings; my %hash; &ok($^V eq "v5.32.1","Version = v5.32.1"); &ok(!%hash,"Empty: !\%hash"); &ok(!scalar(%hash), "Empty: ! scalar"); &ok(scalar(%hash) == 0, "Empty: 0 == scalar"); &ok(!keys(%hash), "Empty: ! keys"); ++$hash{entry}; &ok((%hash ? 1 : 0),"Not empty: \%hash"); &ok(scalar(%hash), "Not empty: scalar"); &ok(scalar(%hash) != 0, "Not empty: scalar != 0"); &ok((keys(%hash) ? 1 : 0),"Not empty: keys");
Thanks, all!1..9 ok 1 - Version = v5.32.1 ok 2 - Empty: !%hash ok 3 - Empty: ! scalar ok 4 - Empty: 0 == scalar ok 5 - Empty: ! keys ok 6 - Not empty: %hash ok 7 - Not empty: scalar ok 8 - Not empty: scalar != 0 ok 9 - Not empty: keys
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: How to test for empty hash?
by eyepopslikeamosquito (Archbishop) on Aug 07, 2021 at 05:21 UTC |
In Section
Seekers of Perl Wisdom