Here document

Z programování v bashi jsem byl poměrně zvyklý používat here docs, ale když jsem začal programovat v Perlu, tak jsem měl tak 50% šanci, že here doc bude správně. Teď po nějaké době programování v perlu mám problém opačný - here docy napíšu správně v Perlu, ale v jiných programovacích jazycích mi úspěšnost klesá.

PHP

V PHP jsem se s nimi setkal poprvé - tak jsem se naučil jejich syntaxi a začal je používat. Hlavně v počátcích. Později jsem už nikdy nepotřeboval vypisovat velké množství souvislého textu.

$str = <<DOC
foo
bar
DOC;

Bash

Když jsem začal později programovat v bashi, tak díky shodné syntaxi s nimi nebyl žádný problém.

str=`cat <<DOC
foo
bar
DOC`;

Perl

Ale pak přišel perl - začal jsem s nimi mít potíže. Přestože v dokumentaci tvrdí: A line-oriented form of quoting is based on the shell "here-document" syntax. , tak realita je opačná.

$str = << DOC;
foo
bar
DOC

Kde je problém

Problém je ve středníku, který se v Perlu píše za otevírajícím identifikátorem, zatímcé v PHP a Bashi ne.