July 22, 2003 Rohan Pall (my birthday!)
Here is an example of Super Code, a dns caching proc on windows. It executes an external binary to do the lookups. Get resolver.exe from BrowseX. It also uses bgexec from blt.
proc a> {a args} {eval [list interp alias {} $a {}] $args} a> a< interp alias {} a> a? interp aliases a> l list a> ^ uplevel a> g> uplevel #0 a> p puts a> pr parray a> s set a> s- unset a> s( array set a> kz array names a> li lindex a> la lappend a> pk proc a> >> eval a> () catch a> ? s errorInfo a> -*- return a> r return a> i info a> iv i vars a> il i level a> i- il 0 a> exe i nameofexe a> sc i script a> , after a> f foreach a> fi file a> dn file dirname a> fj file join a> re regexp a> mp string map a> ma string match a> c: clock a> c:s c: seconds a> c:c c: clicks a> t trace a> t. t variable a> t- t vdelete a> se string equal a> = expr pk ev {t b} {g> $b ; , $t [i-]} pk g>> args {s b >> ; f el $args {la b $el} ; g> $b} #---- s dir [dn [exe]] s e(resolver) [fj $dir resolver.exe] s( h {} a> ph pr h ; a> pe pr e ; a> pi iv ::_qip_* pk qip {h t b} { if {![() {li $::h($h) 1} ip]} {g>> $b $ip ; -*-} s a ::_qip_ ; s z _[c:s]_[c:c] ; f el {vs vo} {s $el $a$el$z} t. $vo w [l qip.t $h $b] ; , ${t}000 [l s $vo ""] blt::bgexec $vs -output $vo $::e(resolver) $h & ; -*-} pk qip.t {h b n1 _n2 _op} { t- $n1 w [l qip.t $h $b] ; s ip [s $n1] if {[se "0.0.0.0" $ip] || [se "" $ip]} {g>> $b error ; -*-} s ::h($h) [l [c:s] $ip] ; g>> $b $ip} #pk x {a b c} {p [^ iv] ; p $a ; p $b ; p $c ; p --} #qip fr 1 {x 1 2} pk qip- {} {s life 180 ; s c [c:s] ; f el [kz ::h] { s x [li $::h($el) 0] ; s e [= $c-$x] if {$e > $life} {s- ::h($el)} }} ev 5000 qip- pk qip-- {} {s n [c:s] ; f vs [iv ::_qip_vs_*] { if {[re {vs_(\d+)} $vs -> c] && ([s e [= $n-$c]] > 60) && [ma EXITED* [s $vs]]} { s vo [mp {vs vo} $vs] ; () {s- $vs $vo} }}} ev 5000 qip--
rmax - Wow, a good example of code obfuscation!