in reply to Re: Forking multiple processes at once, but limiting how many at a time
in thread Forking multiple processes at once, but limiting how many at a time
Hello builat,
I upvoted this, because it raises an interesting issue, but I think your conclusion is incorrect. Consider:
16:36 >perl -wE "my %h = (Fred => 'Wilma'); my ($k, $v) = each %h; say + length $k;" 4 16:36 >perl -wE "my %h = (qq['Fred'] => 'Wilma'); my ($k, $v) = each % +h; say length $k;" 6 16:36 >perl -wE "my %h = ('Fred' => 'Wilma'); my ($k, $v) = each %h; s +ay length $k;" 4 16:37 >
According to the documentation:
The => operator is a synonym for the comma except that it causes a word on its left to be interpreted as a string if it begins with a letter or underscore and is composed only of letters, digits and underscores....
Otherwise, the => operator behaves exactly as the comma operator or list argument separator, according to context.
Since the string 'all' contains single quote characters, it does not satisfy the criterion “begins with a letter or underscore and is composed only of letters, digits and underscores.” So, it is not subject to the fat comma’s “special quoting behaviour”, but is treated as a normal string expression; that is, the quotation characters function as operators (like q//) and do not make it into the final hash key string.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Forking multiple processes at once, but limiting how many at a time
by builat (Monk) on Dec 21, 2014 at 07:56 UTC |