Turned out removing use of $_ was a lot more involved than I though, about 4-5 years ago I felt the most sane solution for dealing with perl find was to make fixname use $_ by default. I have since changed my view on the topic and done a lot of recoding to make fixname and all subs receive passed variables which is a much more common practice.
Enough drivel I suppose, here is the changelog (drivel in bullet point format):
4.0 RC12
- blockrename filter now checks to see if a filter string has been entered (like main window)
- a recursive list now uses the same format as preview and run
- arrows only printed in hlist if text is a file.
- rebuilt find_fix again, recursive renaming issues resolved. The problem was caused by find changing directory.
- fixnames 1st plog was set to level 4 instead of 3, fixed.
- fixname was still addressing $_, fixed
- set escape_string to log level 5
- filter is now a checkbutton, will not be enabled if there is no filter
- updated dir_filtered sub to be more efficient
- rebuilt find_fix sub (again) while tracking down recursive issues.
- removed now empty gui/misc.pm
- removed redundant sub multiscolly
- added new config tab 'debug' for debug options
- shifted config gui code to gui/config_dialog.pm
- shifted bulk of the main dir dialog stuff to dir_hlist.pm
- found 'filename - - 02x01.avi' becomes 'filename - - - 02x01.avi' was being caused by double up on replace words.
- fixed preview not counting possible renames
- removed the 2nd call of fn_replace in fixname, was causing duplication issues.
- added (very basic) help menu
- plog level 0 prepends ERROR> instead of DGB0>
- added new feature & flag ERROR_STDOUT, which prints errors to stdout (duh)
- added new feature & flag LOG_STDOUT,
- pressing stop 2x will set the LISTING flag to 0, seem to have some issues with stopping when listing a large directory. This is a work around for the moment until I trace down the real issue.
- new global flag ERROR_NOTIFY - toggles error dialog's
- .. does not get listed in the new fields. (nice cosmetic fix I felt)
- .. was getting printed 2x, fixed
- added code to br_cleanup to prevent null values been sent to subs and causing issue mentioned below (was being caused by lists not matching in length, should a rename be attempted namefix errors).
- added code to prevent 'Use of uninitialized value' errors in fixname
- added sub br_txt_clean, removes trailing crap from new filenames when cleanup button is pushed in block rename gui. Handy for copying filenames from a html table (ie tvu.org.ru).
- removed redudant escape filter code from ls_dir
- added new global flag FILTER
- block rename can use main guis filter