I don't know about you guys, but my ifconfig output isn't all that clean.. how about:
#!/usr/bin/perl -w
use strict;
use LWP::Simple qw(get);
my $acct="123";
my $pass="123";
my ($ip,$url);
my $ifconfig=`/sbin/ifconfig eth0`;
if ($ifconfig=~/inet addr\:((?:\d{1,3}\.){3}\d{1,3})/) {
$ip=$1;
print "ip: $ip\n"
}
else {
die "Couldn't grab ip from: $ifconfig\n";
}
print "Updating..";
if ($got=get("http://www.myip.org/cgi-bin/Update.py?id=$acct&pwd=$pass
+&hostname=all&ip=$ip")) {
if $got=~/SomeTextFromThePageThatWouldConfirmSuccess/) {
print "success.\n";
}
else {
die "failed: $got\n";
}
}
else {
die "failed: $!\n";
}