REF=R[0-9]* { T=R VAL=(#R) { R=$1 } TOL = 5% FN=*% { TOL=$$ } break REF // end break again } /* pattern: () | like in RE * ? like in glob (#U) expect a numeric value of unit U (use substring to get canonical value) subst: $1 ... $field substring: $1, $2, ... variable: $foo, ... with curly braces: ${foo}, ... input variable: $$ Caveat: Wrong: FN=* { X=$FN } there is no variable called FN Right: FN=* { X=$$ } yields the Fn field selected by FN Wrong: VAL=(#R) { R=$VAL } yields literal value Wrong: VAL=(#R) { R=$$ } yields literal value Right: VAL=(#R) { R=$1 } yield canonicalized value */