Thanks Alfred! I should check out the tcllib.
Thanks, Tom! Upvar was one of those strange reserved words, now is a friend =)
proc ec_gets_char_delimited_line {fileId varName {delimiter "\t"} } {
upvar $varName split_line
if {[eof $fileId]} {
set return_val -1
set split_line [list]
} else {
gets $fileId line
set split_line [split $line $delimiter]
set return_val [llength $split_line]
}
return $return_val
}
translating to ad_proc..
ad_proc ec_gets_char_delimited_line {
fileId
varName
{delimiter "\t"}
} {
Reads and parses a line of data from a character delimited file
similar to ns_getscsv. Defaults to delimit tabs
} {
upvar $varName split_line
if {[eof $fileId]} {
set return_val -1
set split_line [list]
} else {
gets $fileId line
set split_line [split $line $delimiter]
set return_val [llength $split_line]
}
return $return_val
}