in reply to __DATA__ only one time

Is it that big? Can't you just slurp it in into a scalar, as chromatic suggested, and save yourself some hassle?

Here are some alternatives:

Use external plain file

{ local @ARGV = '/home/michaelg/helpfile'; print <>; }

Use external DBM file (with tie/dbmopen). This way you can easily handle more messages.

my %msgs; dbmopen %msgs, '/home/michaelg/dbmhelp', 0600; print $msgs{mainhelp}; # [...] print $msgs{braindead_help};

Here-docs also come handy

print <<'FINIS'; I gave foo bars to the foo fighters , and of course Dave well never mind , [...] FINIS