Как указывает г-н Хьюгилл, пример кода неявно локализует и псевдоним $ _, магической подразумеваемой переменной.
Он предлагает замену, которая будет более читабельной за счет стандартного кода.
Нет причин жертвовать читабельностью ради краткости. Просто замените неявную локализацию и назначение явной версией:
sub html_filter {
local $_ = shift;
s/&/&/g;
s/</</g;
s/>/>/g;
s/"/"/g;
return $_;
}
Если бы я не очень хорошо знал Perl и наткнулся на этот код, я бы знал, что мне нужно взглянуть на документы для $_
и local
- в качестве бонуса в perlvar
есть несколько примеров локализации $_
.
Для тех, кто много пользуется Perl, вышесказанное должно быть легко понять.
Так что на самом деле нет причин жертвовать читабельностью ради краткости.