Verwendung von EOF
Barbara
- perl
Hallo, ich möchte eine Anweisung mit Hilfe von EOF schreiben!
Was ist hier mein Fehler?
$query = <<EOF ;
select t_esdoc_watched.id, result, name, TO_char (created_at, 'dd.mm.yy hh24.mi.ss')
from t_esdoc_estep, t_esdoc_watched
where eseries_id = '4eseries_id'
and owner_id = t_esdoc_estep.id
and name = 'GREENHOUSE-TRANSFER'
order by created_at
EOF
Der Editor zeigt mir an, dass alles, was danach kommt auch in die Variable geschrieben wird!(es ist alles nur noch grün!!!!)
Hallo Barbara,
Was ist hier mein Fehler?
Was sagt denn der Interpreter?
$query = <<EOF ;
select t_esdoc_watched.id, result, name, TO_char (created_at, 'dd.mm.yy hh24.mi.ss')
from t_esdoc_estep, t_esdoc_watched
where eseries_id = '4eseries_id'
and owner_id = t_esdoc_estep.id
and name = 'GREENHOUSE-TRANSFER'
order by created_at
EOF
Hast du hier noch einen Zeilenumbruch oder hoert da die Datei auf?
Grüße,
CK
HALLO ,
Was sagt denn der Interpreter?
Dass er EOF nich finden kann!
$query = <<EOF ;
select t_esdoc_watched.id, result, name, TO_char (created_at, 'dd.mm.yy hh24.mi.ss')
from t_esdoc_estep, t_esdoc_watched
where eseries_id = '4eseries_id'
and owner_id = t_esdoc_estep.id
and name = 'GREENHOUSE-TRANSFER'
order by created_at
EOFHast du hier noch einen Zeilenumbruch oder hoert da die Datei auf?
Also die Datei geht noch weiter:
$sth = $dbh ->prepare($query);
$sth ->execute;
...
...
...
Gruß, Barbara
$query = <<EOF ;
select t_esdoc_watched.id, result, name, TO_char (created_at, 'dd.mm.yy hh24.mi.ss')
from t_esdoc_estep, t_esdoc_watched
where eseries_id = '4eseries_id'
and owner_id = t_esdoc_estep.id
and name = 'GREENHOUSE-TRANSFER'
order by created_at
EOFHast du hier noch einen Zeilenumbruch oder hoert da die Datei auf?
Also die Datei geht noch weiter:
$sth = $dbh ->prepare($query);
$sth ->execute;
Die Frage ist, ob in der Zeile in der die Zeichenkette "EOF" (es könnte auch eine x-beliebige andere sein), noch etwas anderes steht.
In der Zeile darf kein Leerzeichen, kein Tab und nichts anderes stehen (es muss aber ein Zeilenumbruch folgen)
Struppi.
Die Frage ist, ob in der Zeile in der die Zeichenkette "EOF" (es könnte auch eine x-beliebige andere sein), noch etwas anderes steht.
In der Zeile darf kein Leerzeichen, kein Tab und nichts anderes stehen (es muss aber ein Zeilenumbruch folgen)Struppi.
mh, es steht wirklich nichts ausser EOF da und es geht mit einem Zeilenumbruch weiter!
Barbra
mh, es steht wirklich nichts ausser EOF da und es geht mit einem Zeilenumbruch weiter!
Vielleicht ist das Leerzeichen zwischen EOF und dem semikolon zuviel.
Struppi.
hi,
Hallo, ich möchte eine Anweisung mit Hilfe von EOF schreiben!
sagen wir es mal etwas präsizer, du möchtest die HEREDOC-notation für ein literal verwenden.
EOF ist hier nur zufällig der bezeichner für die grenze, es kann aber auch jeder andere sein.
Was ist hier mein Fehler?
ich kenne HEREDOC nur aus PHP, aber so weit ich weiß, ist es in perl analog.
$query = <<EOF ;
1. es müssen in PHP _drei_ < sein, also $query = <<<EOF. hier also vermutlich auch.
2. ist das semikolon dahinter richtig?
EOF
_hier_ hinter sollte dann wieder ein semikolon, zumindest in PHP, um die wertzuweisung für die variable dann auch wirklich abzuschliessen.
http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc
gruß,
wahsaga
Hallo wahsaga,
Was ist hier mein Fehler?
ich kenne HEREDOC nur aus PHP, aber so weit ich weiß, ist es in
perl analog.
Nein. Wenn, dann waere es in PHP analog, aber Here-Docs in Perl und
PHP haben unterschiedliche Syntax.
$query = <<EOF ;
- es müssen in PHP _drei_ < sein, also $query = <<<EOF. hier also
vermutlich auch.
Nein.
- ist das semikolon dahinter richtig?
Ja.
EOF
_hier_ hinter sollte dann wieder ein semikolon, zumindest in PHP,
um die wertzuweisung für die variable dann auch wirklich
abzuschliessen.
Tja, PHP ist nicht Perl. :) Hier gehoert keines hin.
Grüße,
CK