Task

Load the entire contents of some text file as a single string variable.

If applicable, discuss: encoding selection, the possibility of memory-mapping.

Of course, in practice one should avoid reading an entire file at once
if the file is large and the task can be accomplished incrementally instead
(in which case check File IO);
this is for those cases where having the entire file is actually what is wanted.




/*REXX program reads an entire file line-by-line  and  stores it as a continuous string.*/
parse arg iFID .                                 /*obtain optional argument from the CL.*/
if iFID==''  then iFID= 'a_file'                 /*Not specified?  Then use the default.*/
$=                                               /*a string of file's contents (so far).*/
             do  while lines(iFID)\==0           /*read the file's lines until finished.*/
             $=$ || linein(iFID)                 /*append a (file's) line to the string,*/
             end   /*while*/                     /*stick a fork in it,  we're all done. */