KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
A list assignment in scalar context returns the number of elements on the right hand side: scalar(my ($hello, $there, $world) = (7,8)); #evaluates to 2 Why does it evaluate the right hand side and produce 2, instead of the newly defined list being evaluated and returning 3? To me, it seems like $hello gets 7, $there gets 8, and $world gets undef , then that list is evaluated in scalar context, which would result in 3, as that is the number of elements in the list ( $hello $there $world ). It seems weird to me that context affects which part of the evaluated expression is returned: my $greeting = (($hello, $there, $world) = (7,8)); #2 my @greeting = (($hello, $there, $world) = (7,8)); my $greeting_length = @greeting; #3
Tags (comma-separated)
Save Edits
Cancel