3 ms·
I did not know that. Interesting. However, it only works if you call the sub without parentheses like this: &foo Calling it with parentheses like &foo() woul
by drivers99 14y ago
I did not know that. Interesting. However, it only works if you call the sub without parentheses like this: &foo
Calling it with parentheses like &foo() would make @_ empty inside of foo. (Or if you said &foo("whatever") it would pass that as @_ instead.)
sub while
{
print "@_\n";
&foo();
}
sub foo
{
print "@_\n";
}
&while("a","b","c");
produces:
a b c
(blank line)
as the output, and
sub while
{
print "@_\n";
&foo;
}
sub foo
{
print "@_\n";
}
&while("a","b","c");
produces:
a b c
a b c
as the output. At any rate, back to the original topic: it still doesn't prevent new keywords from potentially colliding. Oh well.