in reply to Re^2: Remove blank space during find/replace
in thread Remove blank space during find/replace

I'm not sure if you have a 'cut and paste' issue, but the code you supply has syntax errors. The hash declaration for %findReplaceH is not terminated with a ), and you have a q[ missing on one line. I get:
"my" variable $folderPath masks earlier declaration in same scope at C +:\gash.pl line 17. "my" variable $folderPath masks earlier declaration in same scope at C +:\gash.pl line 19. Unmatched right square bracket at C:\gash.pl line 14, at end of line syntax error at C:\gash.pl line 14, near "<TList.Item>]" syntax error at C:\gash.pl line 68, near "print" Execution of C:\gash.pl aborted due to compilation errors.
I added use warnings;

Update 2
Fixing these issues, I then found that neither subroutine is actually called, I guess you are missing a File::Find.
Anyway, so I extracted the RE and and tried a simple test. This time I assumed that the data had embedded spaces, so I altered the RE:
my %findReplaceH = ( q[<TList.Bullet>\\s*] =>q[<ul>], q[\\s*</TList.Bullet>]=>q[</ul>], q[<TList.Item>\\s*] =>q[<li>], q[\\s*</TList.Item>]=>q[</li>], ); my $useRegexQ = 1; my $wholeFileString='<TList.Bullet><TList.Item> sometext </TList.Item> +</TList.Bullet>'; my $replaceCount = 0; foreach my $key1 (keys %findReplaceH) { my $pattern = ($useRegexQ ? $key1 : quotemeta($key1)); $replaceCount = $replaceCount + ($wholeFileString =~ s/$pattern/$findReplaceH{$key1}/g); }; print "$wholeFileString\n";
and it appears to work correctly without extra spaces:
<ul><li>sometext</li></ul>
Note that I set $useRegexQ to force quotemeta