# File lib/rake/ext/string.rb, line 52
52:     def pathmap_replace(patterns, &block)
53:       result = self
54:       patterns.split(';').each do |pair|
55:         pattern, replacement = pair.split(',')
56:         pattern = Regexp.new(pattern)
57:         if replacement == '*' && block_given?
58:           result = result.sub(pattern, &block)
59:         elsif replacement
60:           result = result.sub(pattern, replacement)
61:         else
62:           result = result.sub(pattern, '')
63:         end
64:       end
65:       result
66:     end