in reply to Re: underscore prototype imposing scalar context
in thread underscore prototype imposing scalar context
No, that doesn't work. The unbackslashed @ eats up all the prototype characters behind it.
This:
#!/ActivePerl/bin/perl use 5.014; use warnings; sub sayit (@;_); sayit (1, 2, 3); my @list = (4, 5, 6); sayit (@list); local $_ = 7; sayit; my $_ = 8; sayit; sub sayit (@;_) { my @list = @_; if (@list) { say "@list" } else { say "no list" } }
yields this:
Prototype after '@' for main::sayit : @;_ at q.pl line 6. Prototype after '@' for main::sayit : @;_ at q.pl line 21. 1 2 3 4 5 6 no list no list
The first two lines are due to the warnings pragma.
|
|---|