http://www.perlmonks.org?node_id=356149


in reply to Re: Re: Tripwire tests and future-proofing
in thread Tripwire tests and future-proofing

From Test::More:
ok($this eq $that, $test_name);
This simply evaluates any expression ($this eq $that is just a simple example) and uses that to determine if the test succeeded or failed. A true expression passes, a false one fails. Very simple.
So it's not exactly what you describe.

Additionally a list in scalar context returns it's last value not the number of it's elements. So your explanation of what happens after the keys function is not right.

Update:

$ perl -e '%h = (1, 1, 1, 1); print scalar keys %h, "\n"' 1
$ perl -e 'print scalar (1, "a"), "\n";' a