orangy
fun main(args: Array<String>) {
val list = listOf("a.b.c = 1", "a.b.d = 2", "a.c=4", "b.x=8")
val map = mutableMapOf<String, Any>()
list.forEach {
val (key, value) = it.split('=').map { it.trim() }
val keys = key.split('.')
val valueMap = keys.dropLast(1).fold(map) { m, k -> m.getOrPut(k) { mutableMapOf<String, Any>() } as MutableMap<String, Any> }
valueMap[keys.last()] = value
}
println(map) // {a={b={c=1, d=2}, c=4}, b={x=8}}
}