Actually, that's the format you'd use in rexxtry:
\r\n\r\nrexxtry do 50; say '*shun*'; end\r\n\r\n
Hmmm... using object rexx you could do something like this:
\r\n\r\nrexxtry say ('*shun*'0d0a~x2c)~copies(50)\r\n\r\n
which will put out fifty lines. If you don't care about actual lines of output, you could do
\r\n\r\nrexxtry say '*shun*'~copies(50)\r\n\r\n
Of course, if you wanted to mix'n'match functional/oo ("Heresy!", he cried), you might want to change the second example to be
\r\n\r\nrexxtry charout(,('*shun*'0d0a~x2c)~copies(50))\r\n\r\n
Or, alternatively, and keeping more in tune with the built-in object model, you could do
\r\n\r\nrexxtry .output~charout(('*shun*'0d0a~x2c)~copies(50))\r\n\r\n
All depends on how you want to go about it, I guess:)