use strict; use warnings; #-------------------------------------------------------------------------------------------------------------- # Run Namefix #-------------------------------------------------------------------------------------------------------------- sub run_namefix { # reset misc vars $main::hl_counter = 0; $main::hlist2->delete("all"); $main::id3_change = 0; $main::change = 0; $main::suggestF = 0; $main::tmpfilefound = 0; $main::enum_count = 0; $main::tags_rm = 0; $main::last_recr_dir = ""; my $t_s = ""; # tmp string my @tmp_arr = ""; # prep vars we need if($main::disable_regexp == 1) { $main::rpwold_escaped = &escape_string($main::rpwold); } else { $main::rpwold_escaped = $main::rpwold; } if($main::filter_use_re == 0) { $main::filter_string_escaped = &escape_string($main::filter_string); } else { $main::filter_string_escaped = $main::filter_string; } if(-f $main::killwords_file) { undef @main::kill_words_arr; @tmp_arr = &readsf("$main::killwords_file"); for $t_s(@tmp_arr) { $t_s = &escape_string($t_s); push (@main::kill_words_arr, $t_s); } } if(-f $main::killpat_file) { @main::kill_patterns_arr = &readsf("$main::killpat_file"); } if(-f $main::casing_file) { undef @main::word_casing_arr; @tmp_arr = &readf("$main::casing_file"); for $t_s(@tmp_arr) { $t_s = escape_string($t_s); push (@main::word_casing_arr, $t_s); } } $main::orig_dir = cwd; chdir $main::dir; &nf_print(".."); if(!$main::recr) { opendir(DIR, "$main::dir") or die "can't open working dir: $!"; my @dirlist = readdir(DIR); closedir DIR; # -- make sure we dont have . and .. in array -- @dirlist = reverse @dirlist; # this puts . and .. and end of array $#dirlist = $#dirlist - 2; # remove . and .. @dirlist = &ci_sort(@dirlist); # sort array foreach(@dirlist) { if(!$_) # stop warnings getting spat out { next; } if($main::proc_dirs) { &fixname; next; } elsif(! -d $_) { &fixname; } } } if($main::recr) { find(\&fixname, "$main::dir"); } # print info &nf_print(" "); if ($main::testmode == 1) { &nf_print("$main::change files would have been modified"); if($main::id3_mode) { &nf_print("$main::id3_change mp3s would of had tags updated."); } if($main::tags_rm) { &nf_print("$main::tags_rm mp3 tags would have been removed"); } } else { &nf_print("$main::change files have been modifided"); if($main::id3_mode) { &nf_print("$main::id3_change tags have been updated"); } if($main::tags_rm) { &nf_print("$main::tags_rm mp3 tags have been removed"); } } &nf_print(" "); if($main::suggestF != 0) { $t_s = "namefix.pl was unable to rename $main::suggestF files.\nPerhaps you should enable \"FS Fix\"."; &nf_print($t_s); &nf_print(" "); } if($main::tmpfilefound != 0) { &nf_error("namefix.pl found tmp some of its own tmp files, this should not happen. Please check the following list of files.\n$main::tmpfilelist\n"); } &nf_print("namefix.pl $main::version by $main::author"); # cleanup $main::testmode = 1; # return to test mode for safety :) chdir $main::dir; } 1;