prefix global identifiers with package name prefix static global identifiers with TU ID prefix function variables with SP at run time probably use a register __r0="$(cat foo)" eval "__sp${__sp}_contents=\${__r0}" don't mangle command environment variables, e.g. `IFS= read -r line`