# --------------------------------------------------------------------------------- # Author: Dean Stringer # Description/Purpose: # Extracts redirect lines from an Apache config file (location of # which is specified on the command line) # --------------------------------------------------------------------------------- use strict; my $debugMode = 0; my %checkURLs; my $inFile = $ARGV[0]; die "No such file $inFile" unless -e $inFile; open(INFILE, "< $inFile"); while(my $line = ) { if ($line =~ /^\s*Redirect(Match|Permanent|)\s+(.+)\s+(.+)/) { my ($RType, $RFrom, $RTo) = ($1, $2, $3); if ($RTo =~ /^http:\/\/([\w\/\.\?\-\=_])+$/) { $checkURLs{$RTo}++; } else { if ($debugMode) { print "\nCant Handle $RTo"; } } } else { if ($debugMode) { print "\nERROR: $line" if $line !~ /^\s*#/; } } } close INFILE; foreach (keys %checkURLs) { print "$_\n"; }