Aber jetzt kapier ich was du willst.
print join ':', map sprintf( '%x', ord), split //, $in;
aber.. nur so interesse halber ;)
das map wendet auf jedes element von sprintf ein split an, und das join fügt sie dann wieder mit doppelpunkt zusammen.. richtig..??
Nö - du musst das eher von rechts nach links lesen.
erst split //, $in damit erhälst du ein Array der einzelnen Buchstaben des Strings.
und auf dieses Array wird das map angewandt, jedes Element (also jeder Buchstabe) wird mit dem sprintf "behandelt", der Rückgabewert von map ist ein array mit den umgewandelten Buchstabencodes, diese werden wieder zusammengefügt und dazwischen ein Doppelpunkt.
Es ist ein Kurzform für:
my $in = "...";
my @tmp = split //, $in;
my @new;
foreach my $char(@tmp) {
push @new, sprintf '%x', $char;
}
my $out = join ":", @new;
P.s. ich hätte da noch eine kleine Frage bezüglich Fork..
soll ich da einen neuen thread machen oder hier weiter schreiben..?
Nö, mach was neues.
Struppi.
Javascript ist toll (Perl auch!)