The "read+" can be replaced with "read ". However, if you
replace "pack+" with "pack " and then end up with
"pack (expr),arg,arg" then it gets parsed as
"(pack(expr)),arg,arg" while "pack+(expr),arg,arg"
gets parsed as "pack((expr),arg,arg)". My quick look
didn't tell me if that was actually a problem for this
particular script or not.
The "unary plus" trick is a faily common way of making a
call to a predeclared function without using parens around
the arguments when the first arugment might have parens
around it.
-
tye
(but my enemies call my lawyers)