input: %hash = ( "view0" => "buffersize, size, value, speed", "view1" => "buffersize, size, value, speed", "view2" => "buffersize, size, value, speed" "view3" => "buffersize, size, value, speed") output: view0 full outer join view1 on view0.size = view1.size and view0.buffersize = view1.buffersize and view0.value = view1.value full outer join view2 on view1.size = view2.size and view1.buffersize = view2.buffersize and view1.value = view2.value full outer join view3 on view2.size = view3.size and view2.buffersize = view3.buffersize and view2.value = view3.value