in reply to Re^7: Need help with a nested IF statement
in thread Need help with a nested IF statement

I am having a very weird issue with the Linux portion of my script. Using the same method as I did on the Unix side, my output is empty.

my ($ip, $bcast, $mask) = /\binet addr:([\d.]+)\sBcast:([\d.]+)\sMask: +([\d.]+)/

So I tried a different method

my ($ip, $bcast, $mask) = /\binet addr:([\d.]+)\s.+:([\d.]+)\s.+:([\d. +]+)/

This actually finds the correct Interface, IP and Broadcast, but an irronious Netmask

cccadm@ccasec1::perl: ./ipandos.pl Hello, your operating system is: linux Interface 1 has the IP Address of 10.241.37.199 Netmask: 808 Broadcast: 255.255.255.0

The ifconfig on Linux is slightly different. Here is what it looks like for one interface....

eth1 Link encap:Ethernet HWaddr 00:19:B9:EB:80:8F inet addr:10.241.37.199 Bcast:10.241.37.255 Mask:255.255.2 +55.0 inet6 addr: 3ffe:80c0:22c:225:219:b9ff:feeb:808f/64 Scope:Gl +obal inet6 addr: fe80::219:b9ff:feeb:808f/64 Scope:Link

Replies are listed 'Best First'.
Re^9: Need help with a nested IF statement
by ikegami (Patriarch) on Nov 03, 2009 at 16:08 UTC
    There are two spaces before Bcast.

      UPDATE *** I figured it out. The \s.+ was being greedy. I changed it to \s.+? to say take a little as possible and it corrected the issue. Now my output is exaclty what I want.