Posted to tcl by sebres at Mon Apr 27 11:37:00 GMT 2020view pretty
set var1 {YNC 1 2;K1_SP4_SPA_CLEANUP_DIAMETER UGT0101_008;K1_SP4_SPA_FACING UGT0101_008;SYNC 2 2;K1_SP4_SPA_ROUGHING UGT0101_008} set var2 {SYNC 1 2;K2_SP4_CHECK_DIAMETER UGT010_0232;SYNC 2 2} # some secret logic (at the moment returns 0 first 2 times called and always 1 hereafter): set i 0 proc secret_knowledge {} {upvar i i; expr {[incr i] > 2}} set var1 [split $var1 ";"] set var2 [split $var2 ";"] set res {} foreach v $var2 { if {[regexp {^SYNC } $v] && [secret_knowledge]} { lappend res NOOP } lappend res $v if {[regexp {^SYNC } $v] && [secret_knowledge]} { lappend res NOOP } } puts "expect:\tSYNC 1 2;K2_SP4_CHECK_DIAMETER UGT010_0232;NOOP;SYNC 2 2;NOOP" puts "result:\t[join $res ";"]"