esl: syntax error

Hallo zusammen

Da gibts ein Skript, zugegebenermassen kein sehr schönes, aber es ist eines (es läuft lokal). Leider wird das skript nicht ausgeführt, es gibt folgenden fehler: syntax-error on line 26 near @lines

open(FH, $lang."\".$file) or die "Konnte Datei /".$lang."/".$file." nicht öffnen.\n";
  @lines = <FH>;
  close(FH);

sind die entsprechenden Zeilen...

Wäre jemand so nett, mir zu sagen, wo dieser zu finden ist?

THX
esl

  1. Hallo zusammen

    Da gibts ein Skript, zugegebenermassen kein sehr schönes, aber es ist eines (es läuft lokal). Leider wird das skript nicht ausgeführt, es gibt folgenden fehler: syntax-error on line 26 near @lines

    open(FH, $lang."\".$file) or die "Konnte

    ^^

    Was bedeutet der doppelte Backslash?

    Gruß,
    Reiner

    1. Hallo zusammen

      Da gibts ein Skript, zugegebenermassen kein sehr schönes, aber es ist eines (es läuft lokal). Leider wird das skript nicht ausgeführt, es gibt folgenden fehler: syntax-error on line 26 near @lines

      open(FH, $lang."\".$file) or die "Konnte
                         ^^

      Was bedeutet der doppelte Backslash?

      Gruß,
      Reiner

      Der erste maskiert den zweiten, welcher den dateinamen vom ordnernamen trennt (in der pfadangabe).

      gruss
      esl

      1. Der erste maskiert den zweiten, welcher den dateinamen vom ordnernamen trennt (in der pfadangabe).

        Ist klar, aber kann es sein, daß Du lokal unter Windows arbeitest und das dann auf Unix laufen lassen willst?

        1. Der erste maskiert den zweiten, welcher den dateinamen vom ordnernamen trennt (in der pfadangabe).

          Ist klar, aber kann es sein, daß Du lokal unter Windows arbeitest und das dann auf Unix laufen lassen willst?

          ne, ist alles unter windows

      2. Hi,

        open(FH, $lang."\".$file) or die "Konnte
                           ^^
        Was bedeutet der doppelte Backslash?
        Der erste maskiert den zweiten, welcher den dateinamen vom ordnernamen trennt (in der pfadangabe).

        Dir ist bewusst, dass Perl auch unter Windows den Slash als Verzeichnistrenner nutzt? Ferner solltest Du Dich damit anfreunden, dass Doublequotes nur dann Sinn machen, wenn Du in ihnen Variablen interpolieren möchtest - andernfalls sind Singlequotes effizienter. Dein '"Konnte Datei /".$lang."/".$file." nicht öffnen.\n"' sollte '"Konnte Datei /$lang/$file nicht öffnen.\n"' geschrieben werden.

        Schau Dir den Teil der Datei auch mal mit einem Hexadezimaleditor an. Manchmal schleichen sich irgendwelche Whitespaces ein, die man (naturgemäß) nicht sieht, die einem aber tüchtig das Leben versauen. Das führt dann oft zum "als ich es Zeichen für Zeichen abgetippt hatte, funktionierte es plötzlich"-Effekt.

        Cheatah