IP-adresa + Broadcast

Petr Ruzicka ruzickap na volny.cz
Neděle Květen 12 00:10:45 MEST 2002


Dobry den.
Neco takoveho jsem mel na mysli. Bohuzel nekteri lide (i ja) pouzivaji
pocestene (mozna ze i jine jazyky) distribuce (jine platformy), ve
kterych vstup vypada trochu jinak :
(zase bych to nechtel hnat do krajnosti, ale bude mi to stacit u techto
prvnich dvou)

eth0      Link encap:Ethernet  HWaddr 00:10:5A:BF:ED:1D
          inet addr:111.111.111.11  Bcast:11.111.111.255 
Mask:255.255.255.0


eth0      Zapouzdøení:Ethernet  HWadr 00:10:5A:BF:ED:1D
          inet adr:111.111.111.11  V¹esmìr:111.111.111.255
Maska:255.255.255.0

Pak tady zaznelo jeste od pana Pazdziory :

ec0: flags=400c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,IPALIAS>
        inet 129.6.6.6 netmask 0xffffff00 broadcast 129.6.6.255


takze by to chtelo nejak vyparsnout prvni dve (\d+\.\d+\.\d+\.\d+) na
druhem radku (ten druhy nedela problem) a priradit je do dvou promenych
(Masku uz nepotrebuji). Bohuzel me znalosti regularnich vyrazu a Perlu
nejsou dostatecne, tazke fakt nevim ...

Muze mi to nekdo nasat?

Pro jednoduchost jenom kratky vypis :

#!/usr/bin/perl -w
$radek="inet adr:111.111.111.11  Vsesmer:111.111.111.255
Maska:255.255.255.0";
($prvni,$druhe) = $radek =~ < a tady snad nekdo neco doplni :-) >;
print " $prvni $druhe";



On Sat, 11 May 2002 13:30:15 +0200
Tomas Pokorny <t.pokorny na sh.cvut.cz> wrote:

> 
> 
> $interface='eth0';
> 
> open(IFCONFIG, '/sbin/ifconfig|') || die "$!";
> $_ = join "", <IFCONFIG>;
> 
> ($addr, $Bcast, $mast)
>  = m/eth0.+\n\s*inet addr:(\S+)\s+Bcast:(\S+)\s+Mask:(\S+)/;
> 
> T.
> 


Další informace o konferenci Perl