again, losing iif gives a score...
406
 Code:
Function CIF($d, $l)
Dim $, $c, $i, $j, $p, $k, $o, $r, $t[($d^)-1],$x

	$ = @crlf
	
	
	For $k = 0 to 1
		$c='@' + join($t,'-') + '@'
		$r = $c + $
		$x = '|' + join($t,'+') + '|' + $
		For each $i in split($l,$)
			For $j = 0 to ($d^)-1
				$ = split($i,'&')[$j]
				$p = $t[$j]
				while ($p^)<($^)+2
					$p = $p + '-'
				Loop
				while ($p^)>($^)+2
					$ = ' ' + $ + ' '
					$o = substr($d,$j+1,1)
					$ = iif( $o=">",left($,~),right( $,(($p^)-1)*($o="=")-1) )
				Loop
				$t[$j] = $p
				$r = $r + '| ' + $ + ' '
			Next
			$ = @crlf
			
			$r = $r + '|'+$ + $x
			$x = @
			$cif = $r + $c
EndFunction
_________________________
!

download KiXnet