Wie Herr Hewgill weist darauf hin, wird der Code Probe implizit lokalisierende und Aliasing zu $ _, die magische implizite Variable.
Er bietet einen Ersatz, der auf Kosten des Boilerplate-Codes lesbarer ist.
Es gibt keinen Grund, die Lesbarkeit der Kürze zu opfern.Ersetzen Sie einfach die implizite Lokalisierung und Zuordnung mit einer expliziten Version:
sub html_filter {
local $_ = shift;
s/&/&/g;
s/</</g;
s/>/>/g;
s/"/"/g;
return $_;
}
Wenn ich nicht Perl alles gut kannte, und kam in diesem Code, würde ich weiß, dass ich für $_
bei der Dokumentation suchen benötigt und local
- als Bonus in perlvar
gibt es ein paar examples of localizing $_
.
Für alle, die Perl viel verwenden, sollte das oben genannte einfach zu verstehen sein.
Es gibt also wirklich keinen Grund, hier auf die Lesbarkeit zu verzichten.
Sie mögen Boilerplate? – Svante
Meinst du, dass das Original von Menschen nicht lesbar war? –