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