in reply to Re^2: Remove blank space during find/replace
in thread Remove blank space during find/replace
I added use warnings;"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.
and it appears to work correctly without extra spaces: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";
Note that I set $useRegexQ to force quotemeta<ul><li>sometext</li></ul>
|
|---|