#!/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() { $_=~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;