Comment puis-je trouver les adresses IP de chaque interface, en Perl?

Je suis en train d'essayer de trouver une liste d'adresses IP sur une machine linux. Actuellement mon installation est une machine CentOS avec un peu de sous interfaces eth0 pour chaque VLAN. Je suis en train d'écrire un script pour voir si chaque VLAN adresse IP dispose d'une connectivité à certaines adresses IP (une adresse IP différente pour chaque réseau).

Par exemple:

  • eth0 a une IP 10.0.0.2 netmask 255.255.255.128
  • eth0.2 a une IP 10.0.130 netmask 255.255.255.128
  • eth0.3 a une IP 10.0.1.2 netmask 255.255.255.128

Chaque interface est actuellement fixé à adresse IP statique via des fichiers de configuration. Cependant, je suis désireux de changer de statique, DHCP et obtenir la même adresse IP. Si je fais cela, il va se casser cette partie du script:

@devarray = `cat /etc/sysconfig/network-scripts/ifcfg-eth0* | grep IPADDR=10 -B 10 | grep -v "#" | grep IPADDR`;

Est-il un meilleur moyen de déterminer quelles adresses IP sont disponibles. Tout ce que je besoin de rassembler est juste l'adresse IP et pas le nom de l'appareil.

OriginalL'auteur jinanwow | 2010-11-04