[vox-tech] Perl question: determining the computer's IP address
Jay Strauss
vox-tech@lists.lugod.org
Thu, 26 Jun 2003 14:05:56 -0500
#!/usr/bin/perl
my @ip = (`ifconfig` =~ m/addr:([^\s]+)\s/);
print join(":",@ip),"\n";
NOTE: run this a root (or someone who has access ifconfig), I didn't and it
took me 10 mins before I figured out my script was right but my user was
wrong
Jay
----- Original Message -----
From: "Peter Jay Salzman" <p@dirac.org>
To: <vox-tech@lists.lugod.org>
Sent: Thursday, June 26, 2003 1:35 PM
Subject: Re: [vox-tech] Perl question: determining the computer's IP address
> sure. you just need to be a little creative.
>
> for machines with one IP address (disregarding lo), just use the output
> of ifconfig with a little regex handling:
>
> p@satan$ ifconfig
> eth0 Link encap:Ethernet HWaddr 00:C0:F0:48:DF:5A
> inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
> ^^^^^^^^^^^^^^^^^^^^^
> you want this.
>
>
> pete
>
>
> On Thu 26 Jun 03, 10:57 AM, Richard Crawford <rscrawford@mossroot.com>
said:
> > I have a Perl script that I've written and which runs on a couple of
> > different web servers. Because the script rewrites some .html files
that
> > call on cgi-scripts, the script needs to know the IP address of the
> > computer that it's running on. Is there an environmental variable or
> > something that I can call within Perl to find out the IP address so that
I
> > don't have to manually recode it on each server?
> >
> > On a side note, the script I've written works, but it's clumsy and
> > inelegant. Is there anyone who'd be willing to look at my code and make
> > suggestions for cleaning it up?
> >
> > --
> > Sliante,
> > Richard S. Crawford
>
> --
> GPG Instructions: http://www.dirac.org/linux/gpg
> GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
>
>