Dave's Brain

Browse - Programming Tips - What is the syntax for php and perl heredocs?

Date: 2010sep12
Updated: 2016mar4
Language: php, perl, C/C++, javaScript, Java, Python
Keywords: heredoc, inline text, multiline

Q.  What is the syntax for php and perl heredocs?
The syntax is close but different enough to drive me crazy.

A.
In php:

my $mydoc = <<<EOT line one line two $variables_work_here line three EOT;
In perl:
my $mydoc = <<EOT; line one line two $variables_work_here line three EOT
In C/C++: There is no exact equivalent but you can take advantage of a trick: C/C++ will concatenate adjacent strings.
char *mydoc = "line one\n" "line two\n" "line three\n";
Use sprintf() to put variables into a string. In javaScript: Again, there is no heredoc. But you can use a backslash for more compact multiline strings:
var mydoc = "line one\ line two\ line three";
It would be great for JSON if javaScript supported a heredoc. In Java: On Android use a string resource. Regular Java doesn't have an official way but this works OK:
String mydoc = "line one\n" + "line two\n" + "line three\n";
In Python: Use triple double quotes:
String mydoc = """ line one line two I said "hello" last line """

Add a comment

Sign in to add a comment
Copyright © 2008-2017, dave - Code samples on Dave's Brain is licensed under the Creative Commons Attribution 2.5 License. However other material, including English text has all rights reserved.