# # webunify converts a WNT developed web to work properly on UNIX # # webunify converts # # all file names to lower case # all anchors, src="" and href="" references to lowercase # all 127+ characters to &#nnn; format # all öaut; etc. escapes to &#nnn; format # (this is needed for some old browsers to display ISO-Latin 2 # characters properly) # # AUTHOR: Peter Verhas # DATE: January 1, 1997. # # Modified because it killed
 to 

because it thought that # it was

$StartDir = shift; if( ! -d $StartDir ){ print < -1 ){ $File = shift @files; if( $File ne lc($File) ){ print "Rename $File to \l$File\n"; rename $File,lc($File); } if( -d $File ){ opendir(D,$File) || next; @nfiles = readdir(D); closedir D; @nfiles = grep(!/^[.]/ && !/^[.][.]/, @nfiles); for( @nfiles ){ $_ = "$File/$_"; } @files = ( @nfiles , @files ); next; } if( $File !~ /\.html?$/i && $File !~ /\.asp$/i){ next; } open(F,"<$File") || next; @lines = ; close F; print "Converting $File\n"; for( @lines ){ #convert all uml characters to code s/\ö/ö/g; s/\ü\;/\&\#252\;/g; s/\ó\;/\&\#243\;/g; s/\õ\;/\&\#245\;/g; s/\ú\;/\&\#250\;/g; s/\é\;/\&\#233\;/g; s/\á\;/\&\#225\;/g; s/\û\;/\&\#251\;/g; s/\í\;/\&\#237\;/g; s/\Ö\;/\&\#214\;/g; s/\Ü\;/\&\#220\;/g; s/\Ó\;/\&\#211\;/g; s/\Õ\;/\&\#213\;/g; s/\Ú\;/\&\#218\;/g; s/\É\;/\&\#201\;/g; s/\Á\;/\&\#193\;/g; s/\Û\;/\&\#219\;/g; s/\Í\;/\&\#205\;/g; #convert &#nnn; to code while( /\&\#(\d+)\;/ ){ $c = chr($1); $k = $1; s/\&\#$k\;/$c/g; } #convert tabs to space s/\t/\ /g; #kill all META text s/\<\s*meta[^>]*\>//ig; #kill all

s/\<\s*\/p\s*\>//ig; #convert all

to

s/\<\s*p\s[^>]*\>/\/ig; #delete FONT face directives s/\<\s*FONT\s*FACE[^>]*\>/\/gi; #delete empty lines if( /^\n$/ ){ $_ = '' } #delete duplicated spaces while( s/\s\s/\ /g ){} #delete multiple

s while( s/

\s

/

/g){} # while( /([\x8F-\xFF])/ ){ # $r = ord($1); # s#([\x8F-\xFF])#\&\#$r\;#;# # } while( /([hH][rR][eE][fF]\s*=\s*\"[^"]*[A-Z][^"]*\")/ ){ $r = lc $1; print "$1 -> $r\n"; s#[hH][rR][eE][fF]\s*=\s*\"[^"]*[A-Z][^"]*\"#$r#; } while( /([sS][rR][cC]\s*=\s*\"[^"]*[A-Z][^"]*\")/ ){ $r = lc $1; print "$1 -> $r\n"; s#[sS][rR][cC]\s*=\s*\"[^"]*[A-Z][^"]*\"#$r#; } while( /([nN][aA][mM][eE]\s*=\s*\"[^"]*[A-Z][^"]*\")/ ){ $r = lc $1; print "$1 -> $r\n"; s#[nN][aA][mM][eE]\s*=\s*\"[^"]*[A-Z][^"]*\"#$r#; } } open(F,">$File") || next; for( @lines ){ print F}; close F; } __END__