Einzelnen Beitrag anzeigen

Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#4

Re: Perl-Programmierer gesucht

  Alt 19. Feb 2005, 18:31
Zitat von alcaeus:
Kommt schon Jungs, es muss doch jemanden geben, der ein bisschen Perl kann
Hat jemand gerufen?

Code:
$cmd  = $ARGV[3];
speichert den 3. Kommandozeilenparameter in $cmd

Code:
$cmd=~ s/(.*);$/$1/eg;
Der =~ Operator mapped für das Statement $cmd auf $_ (die Standardskalarvariable), denn s/// arbeitet immer mit der Standardskalarvariable. s/// ist einfach eine Ersetzung des regulären Ausdruckes (.*);$ durch den ersten Match $1. Die Buchstaben eg sind Parameter, g steht für global und bedeutet das die Ersetzung überall gemacht wird und nicht schon nach der ersten Ersetzung endet. Wofür e steht müßte man jetzt mal im Handbuch nachschauen... ich vermute etwas mit dem escapen. Die Zeile entfernt einfach ein endstehendes Semikola.

Code:
$cmd=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
Das s/// ersetzt hier alle Matches durch was ganz lustiges. Die uc() Funtkion gibt den Parameter in Großbuchstaben zurück, und sprintf macht das was man von sprintf erwartet. ord ist auch wie in Pascal zu verstehen, $1 ist wieder der Match. Es konvertiert als den ASCII-Wert aller Zeichen in 2stellige Hex-Zahlen mit nem % davor.

der Code ist aber ziemlich dumm, das geht auch kürzer und effektiver in Perl.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat