# File lib/hiera/util.rb, line 47
    def split_key(key)
      segments = key.split(/(?:"([^"]+)"|'([^']+)'|([^'".]+))/)
      if segments.empty?
        # Only happens if the original key was an empty string
        ''
      elsif segments.shift == ''
        count = segments.size
        raise yield('Syntax error') unless count > 0

        segments.keep_if { |seg| seg != '.' }
        raise yield('Syntax error') unless segments.size * 2 == count + 1
        segments
      else
        raise yield('Syntax error')
      end
    end