Variables may be set, between rule sets, by assignment statements in the style of rc.
However, rather surprisingly, the set of characters allowed in variable names by plumber is stricter than the one accepted by rc, and is limited to alphanumerics. The lack of support for underscores, for one, is quite unexpected—especially given that they are universally supported in variable names pretty much everywhere else (rc included).
Expanding the variable name character set all the way to the rc level would perhaps be an overkill, but, I think, it would be reasonable to at least accept underscores in addition to alphanumerics.
The plumb(7) manual states:
However, rather surprisingly, the set of characters allowed in variable names by plumber is stricter than the one accepted by rc, and is limited to alphanumerics. The lack of support for underscores, for one, is quite unexpected—especially given that they are universally supported in variable names pretty much everywhere else (rc included).
Expanding the variable name character set all the way to the rc level would perhaps be an overkill, but, I think, it would be reasonable to at least accept underscores in addition to alphanumerics.