[...]
> So richtig elegant finde ich aber keine der beiden L�sungen (aufgrund der
> Schleifen), auch wenn ich sie beide mal so verwenden werde. Ich hatte
> eigentlich einen wilden Einzeiler mit pack/unpack erwartet. ;-)
pack() und unpack() sind natuerlich dafuer zu haben :
perl -le "print unpack('N',pack('CCCC',split(/\./,'192.168.1.1')))"
3232235777
Das obige Programm splittet erstmal die IP-Adresse in die vier Bytes, packt
die dann von links nach rechts in einen 4 Zeichen langen String, und
interpretiert diesen String dann wieder als Zahl (im Network-Byteorder).
Umgekehrt geht das ganze so :
perl -le "print join('.',unpack('CCCC',pack('N',3232235777)))"
192.168.1.1
Also erstmal die Zahl in einen vier Zeichen langen String packen, den String
dann wieder in vier einzelne Bytes zerlegen, und die dann mit Punkten
trennen.
-max
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org