donc je sais qu'il ya des bibliothèques qui peuvent le faire pour moi mais je veux apprendre pack/unpack.Comprendre pack/unpack perl
mon but est d'avoir un utilisateur entrée une adresse IP/masque de sous-réseau, puis vérifiez que c'est valide. D'une certaine façon, je pensais le faire était "sprintf" et obtenir une valeur binaire de 192.168.1.1 disons. c'est une bonne solution, mais alors je dois ajouter la quantité requise de 0 t faire '8 bits'
cela semble beaucoup de travail inutile lorsque pack
peut mettre les choses en format binaire. J'ai utilisé le modèle N
j'ai trouvé http://perldoc.perl.org/functions/pack.html mon premier objectif était d'obtenir une adresse IP, le convertir en binaire, puis le convertir en retour.
$ip = "192.168.1.1";
$bi = pack ("N*", $ip);
print unpack("N*",$bi),"\n";
et la sortie je suis arrivé était 192
si évidemment je ne comprends pas ce qui se passe ici.
Que se passe-t-il exactement ici?
Toujours utiliser 'use strict; utiliser les avertissements qw (tous); ("' Argument "192.168.1.1" n'est pas numérique dans le pack' ") – ikegami