my $contents_of_file = 1; @files = glob "$call_dir/*.html"; printf "Got %d files\n", scalar @files; my $tidy = HTML::Tidy->new( { tidy_mark => 1, #output_xhtml => 1, # yes #output_xhtml => 1, # yes add_xml_decl => 1, # no wrap => 76, error_file => 'errs.txt', char_encoding => 'utf8', indent_cdata => 1, clean => 1, fix_bad_comments =>1 }); for my $file (@files){ $$temp_var = read_file( $file ); if ( $$temp_var =~ m|^URL.*| ){ next } # this is empty file for error message in output. my $tres = $tidy->parse( $file, $$temp_var ); print "Tidy file: $file, result is $tres\n"; open OUT,'>',$file or die "$!"; print OUT $tidy->clean( $file, $$temp_var ); print "cleaning " . $file. "\n"; close OUT; } $temp_var = undef;