Input from multiple channel, merge and use in nextflow
I don't think you can unpack tuples using the each qualifier like that. You can, however, unpack them in the script block:
process test {
    
    input:
    each triple from para1
    
    script: 
    def (m, k, l) = triple
    
    &quot;&quot;&quot;
    echo &quot;${m} ${k} ${l}&quot;
    &quot;&quot;&quot;
}

Consider also that the merge operator is deprecated and will be removed from future Nextflow releases. Instead, you may need to join by index, for example:
def indexedChannel( items ) {
    return Channel.from( items.withIndex() ).map { item, idx -&gt; tuple( idx, item ) }
}

k_ch = indexedChannel( [ 15, 20, 21 ] )
m_ch = indexedChannel( [ 'a', 'b', 'c' ] )
l_ch = indexedChannel( [ 1, 2, 3 ] )

m_ch
    .join( k_ch )
    .join( l_ch )
    .map { idx, m, k, l -&gt; tuple( m, k, l ) }
    .into { para1; para2 }