Thread Datein als Hex auslesen (7 answers)
Opened by Shiu at 2012-10-06 20:55

Gast Shiu
 2012-10-06 20:55
#162518 #162518
Hey liebe Communtiy,
Ich habe einen Code im Internet gefunden, denn ich nicht ganz verstehe.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl -l

use strict;
use warnings;


open(IN,"$file") or die "sd";
while(<IN>){
my $hex = join ' ', map { unpack 'h*', $_ } do { local $/; split //, $_ };
print $hex;
}
close(IN);


Den Anfang lassen wir mal weg. Was mich interessiert ist was in my $hex =.. steht. So wie ich das verstehe,
benutzt er in der do Schleife local $/ um den Wert des Newlinezeichen auf undef zu setzten? Also wäre es das selbem wenn da stehen würde local $/ = undef;? Damit bei der Hex Konventierung keine Newlines umgewandelt werden?
Danach komm der Befehl split //, $_; Das dient eigentlich nur dazu damit die do Schleife ein Rückgeabewert hat und zwar $_ in diesem Fall?
Die map Funktion greift auf jedes Element vom $_ und
führt dann unpack 'h*(<-das Sternchen für beliebige Zeichenlänge?)' also es wandelt es ins Hexdecimal Zahlensystem um. Ja und dan join trennt die Hex elemente mit einen Leerzeichen.
Last edited: 2012-10-06 21:21:20 +0200 (CEST)

View full thread Datein als Hex auslesen