# File lib/rake.rb, line 119
119:     def pathmap_replace(patterns, &block)
120:       result = self
121:       patterns.split(';').each do |pair|
122:         pattern, replacement = pair.split(',')
123:         pattern = Regexp.new(pattern)
124:         if replacement == '*' && block_given?
125:           result = result.sub(pattern, &block)
126:         elsif replacement
127:           result = result.sub(pattern, replacement)
128:         else
129:           result = result.sub(pattern, '')
130:         end
131:       end
132:       result
133:     end