Dear Fellow monks
I am writing a test script for a module (a class actually), and I'm in doubt on how to check that a method is returning a list of values (not a reference, not a scalar: a plain old list)
Now, the only way to check this that comes into my mind is to assign the return value to both a scalar and a list and see if the assigned values are consistent. For example, this scriptlet works as I expect:
use strict ; use warnings ; sub test { my @x = qw(test) ; return @x } my $test = test() ; my @test = test() ; print ">>> $test\n" ; print map "[$_]\n",@test ; print $test == scalar(@test)? "Yepa!\n" : "Nope!\n" ;
I am wondering if there is a better way (i.e.: more Perlish or more compact) to do the same job.
Please note that I would like to do this without relying on extra modules, unless they are bundled with Perl 5.6.1; I don't want make test to depend on the presence of an optional module (other than those required by my modules themselves).
Thanks for any advice
--bronto
# Another Perl edition of a song:
# The End, by The Beatles
END {
$you->take($love) eq $you->made($love) ;
}
In reply to Did I get what I expected (an array)? by bronto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |