>Hast Du hier nicht einen kleinen Fehler?

Nicht nur Du machst Fehler auch ich ;-)

Hier die Korrekte Version:

use strict; # amen.
my $ip        = $ARGV[0]; # Ausgangspunkt IP-Adresse
my @array     = split /\./, $ip; # in 4 Array-Slots
my @hex_array = map { sprintf("%1x", $_) } @array;

# Hier werden den hex-Werten die fehlenden
# anfuehrenden Nullstellen vorangestellt

my $i=-1; # Hier hatte ich den Index falsch Definiert

while ($i++ < 3) {
     print "$i. $hex_array[$i]\n";
     if (length($hex_array[$i]) < 2) {
         $hex_array[$i] = "0$hex_array[$i]";
     }
}

my $hexpression=join("", @hex_array);

print "1. $ip",                  # wie gehabt
  "\n2. ", join(".", @hex_array), # Hex mit Punkten
  "\n3. ", $hexpression,          # Hex ohne Punkte
  "\n4. ", hex $hexpression,"\n"; # Intergerzahl

Gruss
Tobi

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an