summaryrefslogtreecommitdiff
path: root/ext/Hash-Util-FieldHash
diff options
context:
space:
mode:
authorRuslan Zakirov <ruz@bestpractical.com>2012-10-08 02:30:54 +0400
committerFather Chrysostomos <sprout@cpan.org>2012-12-11 08:59:39 -0800
commit231cbeb24ba077cbde643fc4d5178055c1464f5c (patch)
tree206ceaf12160a1b8ccb47af55e7aadd969b13321 /ext/Hash-Util-FieldHash
parent6d70c686156da1532212fbc817c63c0a02bf894a (diff)
downloadperl-231cbeb24ba077cbde643fc4d5178055c1464f5c.tar.gz
scalar(%h = (1,1,1,1)) should return 4, not 2
perldoc perlop says: a list assignment in scalar context returns the number of elements produced by the expression on the right hand side of the assignment Behaviour was changed as side effect of ca65944e8ff8fff6e36ea7476ba807be16cfe2a9 where goal was to fix return value in list context.
Diffstat (limited to 'ext/Hash-Util-FieldHash')
-rw-r--r--ext/Hash-Util-FieldHash/t/11_hashassign.t4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/Hash-Util-FieldHash/t/11_hashassign.t b/ext/Hash-Util-FieldHash/t/11_hashassign.t
index e492fa228f..d3e45d32de 100644
--- a/ext/Hash-Util-FieldHash/t/11_hashassign.t
+++ b/ext/Hash-Util-FieldHash/t/11_hashassign.t
@@ -282,9 +282,9 @@ foreach my $chr (60, 200, 600, 6000, 60000) {
fieldhash %h;
is( (join ':', %h = (1) x 8), '1:1',
'hash assignment in list context removes duplicates' );
- is( scalar( %h = (1,2,1,3,1,4,1,5) ), 2,
+ is( scalar( %h = (1,2,1,3,1,4,1,5) ), 8,
'hash assignment in scalar context' );
- is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 3,
+ is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 9,
'scalar + hash assignment in scalar context' );
$ar = [ %h = (1,2,1,3,1,4,1,5) ];
is( $#$ar, 1, 'hash assignment in list context' );