Use two UNINITIALIZED shift registers in your main loop.
#1 is a BOOLEAN.
#2 is a cluster with whatever file data you want to have.
If #1 is FALSE:
READ file
STORE data into #2 Shift Reg.
Set #1 Shift Reg. to TRUE
else
Pass #1 thru unchanged.
Pass #2 thru unchanged.
end if
....
Use constants from #2 Shift Reg...
The uninitialized Shift reg will default to FALSE the first time up, so you read the file.
But the next time you run it, it will still be TRUE, so you won't.
If you do major program changes (forcing a re-compile of the main loop) you will re-load the file, but for minor changes, you won't.
Another way would be to store them in a global. Give item "A" of your cluster an oddball default value ("-Inf", for exam
ple) that should never be in a legitimate configuration.
If item "A" of you cluster is equal to your oddball value, then read the file into the cluster.
If it isn't, don't.