[Vienna-pm] Gibt es eigentlich ..

Wolfgang Laun Wolfgang.Laun at thalesgroup.com
Fri Apr 27 01:10:48 PDT 2007


Die gewünschten Zeichen (max. 16) können mit tr/// auf [0-9a-f] 
abgebildet werden. Diese können mit pack auf die halbe Länge gepackt 
werden. Die Umkehrung ist trivial. Vermutlich ist es notwendig, die 
ursprünglichen Länge mitzupacken, da mit 'H*' immer eine gerade Anzahl 
von Zeichen entpackt wird (vgl. 2. Test).

my $s = "abcdefghijklmnop";
print "s=$s\n";
$s =~ tr/abcdefghijklmnop/0123456789abcdef/;
my $p = pack( 'H*', $s );
print "length p = " . length( $p ) . "\n";
my $u = unpack( 'H*', $p );
$u =~ tr/0123456789abcdef/abcdefghijklmnop/;
print "u=$u\n";

s=abcdefghijklmnop
length p = 8
u=abcdefghijklmnop

s=a
length p = 1
u=aa

mfg
WLaun


gooly at gmx.at wrote:

>Hallo und Guten Morgen!
>
>Gibt es eigentlich in Perl die Möglichkeit einen String mit einer 
>definierten Anzahl von Zeichen, die natürlich nicht alle umfassen, 
>sondern zB nur 12 oder 16 Zeichen nur: '0' .. '9', '.', ';' (also 
>Zahlen und ein paar andere) separat, zeilenweise als String zu 
>komprimieren? Die üblichen Verdächtigen sind Module, die aber ganze 
>Files komprimieren oder eben den gesamten Zeichensatz.
>
>Vielleicht kennt jemand noch etwas vergangenen Zeiten?
>Danke und schon mal ein schönes Wochenende,
>Calli
>_______________________________________________
>Vienna-pm mailing list
>Vienna-pm at pm.org
>http://mail.pm.org/mailman/listinfo/vienna-pm
>  
>



More information about the Vienna-pm mailing list