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