#!/usr/bin/perl sub initialize { $links = (); $seen_before = (); push(@links, "Main_Page"); } sub read_file { local $file; $file = shift; open(FILE, $file) or die "what???? $file"; while($line = ) { if($line =~ /\"\/prime2\/index.php\/([^"]*)\"/) { get_new_links($1); } } close(FILE); } sub get_new_links { local $site; $site = shift; return if $site =~ /Special:/; return if $site =~ /Talk:/; return if $site =~ /User:/; return if $site =~ /Help:/; return if $site =~ /_Metroid_Prime_2_Wiki:/; return if $site =~ /\?/; return if $site =~ /\&/; return if grep(/^$site$/, @seen_before); return if grep(/^$site$/, @links); push(@links, $site); } sub checkdir { local $file, $dir; $file = shift; return unless $file =~ /\//; $file =~ /(.*)\/[^\/]*/; $dir = $1; checkdir($dir); mkdir $dir unless -d $dir; } initialize(); while( @links ) { $site = pop( @links ); push( @seen_before, $site ); checkdir($site); if(! -f $site ) { `wget "http://www.metroid2002.com/prime2/index.php/$site" -O "$site"`; sleep 1; } read_file($site); }