# Emulate the Bourne Shell's read command, which reads a line of # input, breaking it up into words, which are then assigned, one-by- # one, to the variables whose names are passed as arguments. The # status code is set to 0 if successful or non-zero if end-of-file # was encountered. # Copyright (c) 1996 by Hamilton Laboratories. All rights reserved. proc read( Rvariables ) local Rinput, Ri set input = $getline:x if (!eofgetline) then if ($#Rvariables) then echo `min` >nul # Make sure the min proc is loaded for Ri = 0 to min($#Rvariables - 2, $#input - 1) do eval "@ $Rvariables[Ri] = input[Ri]" end if ($#input < $#Rvariables) then for Ri = Ri + 1 to $#Rvariables - 1 do eval set $Rvariables[Ri] = end else @ Ri++ eval set $Rvariables[Ri] = ^$input:$Ri^* end end @ status = 0 else for Ri = 0 to $#Rvariables - 1 do eval set $Rvariables[Ri] = end @ status = 38 # ERROR_HANDLE_EOF end end read $argv
Previous Sample |
List of Samples
| Next Sample
Table of Contents
Copyright © 1988-2003 by
Hamilton Laboratories.
All rights reserved.