#!/bin/sh
# Restart with tclsh \
exec tclsh "$0" "$@"

proc accept {chan addr port} {
    fconfigure $chan -blocking 0 -buffering line
    fileevent $chan readable [list incoming $chan]
}

proc incoming {chan} {
    set data [gets $chan]

    if {[eof $chan]} {
        close $chan
    } else {
        puts $chan [string toupper $data]
    }
}

proc main {{port 1777} args} {
    socket -server accept $port
    vwait forever
}

main {expand}$argv

# vim: set ts=4 sts=4 sw=4 tw=80 et:

