Code:
#!/usr/bin/perl
use warnings;
use strict;
# eg.:
# Asia Pacific Network Information Center (APNIC2)
# Class C
# 202.0.0.0 - 202.255.255.0
#
$|=1;
my $log = 'iplist.txt';
if(!@ARGV){ print "usage: $0 <ip-range>\n"; exit;}
open LOG, '>>', $log or die "$!\n"; # you can edit '>>'
my @ip0=split(/-/,$ARGV[0]);
my @ip1=split(/\./,$ip0[0]);
my @ip2=split(/\./,$ip0[$#ip0]);
for (my $a=$ip1[0]; $a<1+$ip2[0]; $a++) {
for (my $b=$ip1[1]; $b<1+$ip2[1]; $b++) {
for (my $c=$ip1[2]; $c<1+$ip2[2]; $c++) {
for (my $d=$ip1[3]; $d<1+$ip2[3]; $d++) {
print "$a.$b.$c.$d\n";
print LOG "$a.$b.$c.$d\n";
}}}}
close LOG;