#!/usr/bin/perl

$sourcedir=@ARGV[0];
$destdir=@ARGV[1];

$present_dir=$sourcedir;
@dir_list=();
@in_file_list=();
@out_file_list=();
@processed_list=();

sub DescendDir {
	local($startdir)=$_[0];
	local($cpdir)=$_[1];
##	print STDOUT "$startdir\n";
	opendir(SOURCEDIR,$startdir);
	local(@temp_list)=readdir(SOURCEDIR);
	closedir(SOURCEDIR);
	foreach $element ( @temp_list ) {
		if ( ($element ne "\.") && ($element ne "\.\.") ) {
			if ( -d "$startdir/$element" ) {
				@dir_list=(@dir_list,"$startdir/$element");
				mkdir("$cpdir/$element",0755) || die "Unable to create $cpdir/$element: $!";
				&DescendDir("$startdir/$element","$cpdir/$element");
			} else {
				## print STDOUT "$startdir/$element\n";
				&ProcessFile("$startdir/$element","$cpdir/$element");
				@in_file_list=(@in_file_list,"$startdir/$element");
				@out_file_list=(@out_file_list,"$cpdir/$element");
			}
		}
	}
}

sub ProcessFile {
	local($filepath)=$_[0];
	local($cpfilepath)=$_[1];
	if ( $filepath =~ /(.*)\.htm[l]$/ ) {
		print STDOUT "Processing:  $filepath\n";
		@processed_list=(@processed_list,$filepath);
		print STDOUT "$cpfilepath\n";
		open(HTMLFILE,"$filepath") || die "Unable to open $filepath: $!";
		open(NEWFILE,"> $cpfilepath") || die "Unable to open $cpfilepath: $!";
		while(<HTMLFILE>) {
			$_=~s/\.[Gg][Ii][Ff]/\.png/g;
			print NEWFILE $_;
		}
		close(HTMLFILE);
		close(NEWFILE);
	} else {
##		print STDOUT "Not processing:  $filepath\n";
	}
}

main:
{
	print STDOUT "Source:  $sourcedir\n";
	print STDOUT "Destination:  $destdir\n";
	&DescendDir($sourcedir,$destdir);
##	foreach $filepath ( @processed_list ) {
##		print STDOUT "$filepath\n";
##	}
}
exit 0;
