$a = [ { a => a1, b => b1, c => c1, }, { a => a2, b => b2, c => c2, }, { a => a3, b => b3, } ] $b = $a.map |$h| { $c = $h[c] ? { undef => '', default => ":${h[c]}" } "-v ${h[a]}:${h[b]}${c}" }.join(' ') notice($b) # -v a1:b1:c1 -v a2:b2:c2