in reply to Why do here-docs have to end with a newline, not EOF?
I'm using perl 5.8.8 version for testing your little snippet and it works well. I've executed it with and without the final LF; in unix and in MSDOS format (with CR-LF); and the snippet still works well ...
perl -Te 'print map { chr((ord)-((10,20,2,7)[$i++])) } split //,"turo"'
In Section
Seekers of Perl Wisdom