sub bin {
my $num = shift;
my $bin = "";
for my $digit (128, 64, 32, 16, 8, 4, 2, 1) {
if($num >= $digit) {
$num -= $digit;
$bin .= 1;
} else {
$bin .= 0;
}
}
return $bin;
}
####
sub bin {
substr unpack("B*", pack "i", $_[0]), 0, 8;
}
##
##
sub bin {
sprintf "%08b", $_[0];
}
##
##
if(-e "$bmfile") {
&addlink("$bmfile","$url","$desc");
} else {
&newbmfile("$bmfile","$url","$desc");
}
##
##
LINE: foreach $line (@bmfile) {
chomp($line);
if($line =~ /title/i) {
($null,$title,$null) = split(/\<\/*title\>/i,$line);
} elsif($line =~ /a href/i) {
($null,$link,$null) = split(/\"/,$line,3);
($null,$desc) = split(/\>/,$line);
($desc,$null) = split(/\,$desc);
} else { next LINE; }
if($link) { $links[$#links+1] = "$desc,$link"; }
}
##
##
while(defined($line = )) {
chomp($line);
@chunks = split(/\s+/,$line);
$ctr = 0;
while(defined($chunk = $chunks[$ctr])) {
if($chunk =~ /HREF/) {
($null,$url) = split(/\"/,$chunk);
print "$url\n";
@full = split(/\//,$url);
$dir = $full[5];
$file = $full[6];
system("wget $url");
unless(-e "$dir") { mkdir "$dir",0755; }
rename "$file","$dir/$file";
}
$ctr++;
}
}
##
##
open(IN, "<$accesslog_file")
or die "Cannot open $accesslog_file for input: $!\n";
while(defined(my $line = )) {
chomp $line;
if($line =~ /(.*?) - - \[(.*?)\/(.*?)\/(.*?):(.*?):(.*?):(.*?) (.*?)\] \"(.*?)\" (.*?) (.*?)/) {
my $host = $1;
my $day = $2;
my $month = $3;
my $year = $4;
my $hour = $5;
my $minute = $6;
my $second = $7;
my $timezone = $8;
my $request = $9;
my $response = $10;
my $unknown = $11;
$host = &dns_lookup($host);
# push information into our hash
# adds a reference to the log entry array into
# the hash element for this host
push @{ $hosts{$host} }, [ $month, $day, $year,
$hour, $minute, "'$request'",
$response ];
}
}
close(IN);