На любом языке, который их поддерживает, heredoc - это удобный способ сделать большую строку буквальной.
Возьмите следующий придуманный сценарий Ruby, который берет ваше имя и выводит исходный код для программы на C, которая говорит вам привет:
#!/usr/bin/env ruby
name = $*[0]
unless name
$stderr.puts "Please supply a name as the first argument to the program"
exit 1
end
source = <<EOF
#include <stdio.h>
int main()
{
puts("Hello, #{name}!");
return 0;
}
EOF
puts source
Кроме heredoc, другой вариант создания источника - указывать его построчно, что становится утомительно и потенциально подвержено ошибкам (особенно, когда вы вставляете кавычки).