Sind wirklich zwischen 5.8 und 5.10 Dinge aus dem Standard entfernt worden?
selbst wenn, die meisten Spezialvariablen sind nur für die Show da und könnten locker ersetzt werden.
Der Code provoziert eine Fehlermeldung in der Unixshell, greift sich einzelne Buchstaben die er wilden¹ Spezialvariablen zuordnet und dann in neuer Reihenfolge ausdruckt.
Eher unspektakulär!
gruß
rolf
¹) Die meisten kenne ich nicht, das sind meist Relikte aus der Perl ersetzt Sed und Awk Zeit im tagtäglichen Einsatz sollten nur 1 höchtens 2 handvoll geläufig sein, beim Rest ist "use English" für voll qualifizierte Namen zu empfehlen.
IMHO sollte Kanon sein:
= Übergabe
$_
@_
@ARGV
$a,$b
= Output
$\
$,
$| (diskutierbar)
= Regex
$1 usw
$&, $`, $´ (diskutierbar)
= Fehlerbehandlung
$!
mehr siehe perldoc perlvar
Letztendlich ist es auch die Frage ob man in ner Perl-Shell arbeitet und mal schnell etwas setzen/ausprobieren will oder maintanable code schreibt und dann besser zum vollen Namen expandieren sollte.