# File lib/hiera/backend.rb, line 83
            def parse_string(data, scope, extra_data={})
                return nil unless data

                tdata = data.clone

                if tdata.is_a?(String)
                    while tdata =~ /%\{(.+?)\}/
                        var = $1
                        val = scope[var] || extra_data[var] || ""

                        # Puppet can return this for unknown scope vars
                        val = "" if val == :undefined

                        tdata.gsub!(/%\{#{var}\}/, val)
                    end
                end

                return tdata
            end