вы можете даже быть более неявным :
foreach (<LINE>){
doSomething(x,y);
print; #If you don't specify what to print, it prints "$_"
}
Однако то, что когда-то было приемлемым, больше не приемлемо.Это как если бы вы не использовали use strict
и use warnings
в своем коде.Неиспользование этих прагм позволило вам сделать так много интересных вещей.Вещи, которые вы, возможно, не собирались делать, и вещи, которые делают ваш код действительно трудным для понимания.
Почти все программисты на Perl больше не используют неявные $_
и @_
, потому что это просто делает ваш код всем, чтоболее сложный для понимания и может быть причиной ошибок (например, если предположить, что while
также использует неявный $_
;-)).
Java (и большинство языков) не имеют такой переменной по умолчанию, потому чтоэто не совсем хорошая идея.Хорошие идеи Perl, такие как CPAN и расширенные регулярные выражения, теперь скопированы на другие языки.Такие вещи, как переменные по умолчанию, не имеют.
Использование этого материала может быть забавным - как секретное кольцо декодера, которое позволило вам узнать, кто настоящий Perl-хакер, а кто - нет.Интересно прочитать весь этот запутанный код Perl и посмотреть, кто действительно понимает внутреннюю работу Perl.
Тем не менее, он также дал разработчикам на других языках доказательство того, что Perl безнадежно небрежен и его невозможно понять.,И, как следствие, Perl потерпел всеобщее признание.