I can't possibly imagine any use of calling my in scalar context
if (my $x = ...) { ... } open(my $fh, ...) read(..., my $buf, ...) my $r = \my $s;
Perl already has the disadvantage to default to global vars while other languages automatically restrict to a local scope
What language are you talking about? C, C++, Java, JavaScript and VB all require local declarations.
a warning should be emitted when using a my(LIST) in scalar context.
More precisely, my LIST with a list of more than one variables.
Because of its side-effects, my LIST could legitimately be used in scalar context. This job may be more appropriate for a linter (Perl::Critic). But since that use is rare and easy to rewrite (into something clearer), a warning could be appropriate. Feel free to create a ticket (just need to email perlbug@perl.org).
I only looked quickly, but my and friends might be the only builtins to return something of questionable use in scalar context.
In reply to Re^5: why doesn't "my ($a,$b)" return a list?
by ikegami
in thread why doesn't "my ($a,$b)" return a list?
by LanX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |