Perl script to retrieve an external IP address

This simple perl script will print your external IP address assigned by you internet provider ( great for someone with dynamic IP address ).

First, we download a html file from ipchicken.com and then phrase this file to match for IP address in format X.X.X.X using regular expression.

Next, the script removes all unnecessary characters and prints your external IP address on the terminal. Lastly, the script removes previously downloaded index.html file.

get-external-ip.pl:

#!/usr/bin/perl 
 
# get HTML file with external IP address 
system ("wget -q http://ipchicken.com"); 
open(FILE, '<index.html') || die("Could not open file!"); 
 
print "Your IP Address is: "; 
 
@raw_data=<FILE>; 
foreach (@raw_data) { 
	if (/((\d{1,3})(\.)){3}\d{1,3}/) { 
	s/[^0-9.]*//g; 
	print "$_\n"; 
	} 
 } 
# removing index.html 
system ("rm index.html");


Comments and Discussions
Linux Forum