Hiho,
Finde ich sehr schön! Aber sag mal, wäre das:
s//<DATA>/e;
s/([^\s])/ord($1)%2?chr(ord($1)-5):chr(ord($1)-3)/sieg;
s//$_/ee;nicht besser zu lesen? ;-)
Das soll ja gar nicht zu lesen sein ;-)
- Wohin speichert Perl bei "s//<DATA>/e;" das Ergebnis? Nach $_? Wenn ja,
wieso funktioniert dann "s/$_/<DATA>/e;" nicht?
Jupp, nach $_
Und wer sagt, dass das nicht funktioniert? ;-)
- Wieso funktioniert "s/([^\s])/ord($..."
aber nicht "s/(.)/ord($..."?
Weil einige Whitespaces in dem string drin sind (Newline-zeichen, um genau zu sein) und
das dann einen Compile Error gibt.
Gruss,
Christian
http://wwwtech.de
s s^s<DATA>se;s (([^\s]))(ord($1)%2?
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>