Normalerweise beginnt ein Paket einfach alsGibt es einen Unterschied zwischen "Standard" und Blockpaket-Deklaration?
package Cat;
... #content
!0;
ich gerade entdeckt, dass auch von der Perl-Start 5.14 gibt die „Block“ Syntax ist.
package Cat {
... #content
}
Es ist wahrscheinlich das gleiche. Aber nur um sicher zu sein, gibt es irgendwelche Unterschied?
Und über die 1;
am Ende der Paketdatei. Der Rückgabewert eines Blocks wird als Wert des letzten ausgewerteten Ausdrucks verwendet. Kann ich also die 1;
vor die schließende }
setzen? Um require
glücklich zu machen, gibt es einen Unterschied zwischen:
package Cat {
... #content
1;
}
und
package Cat {
... #content
}
1;
Ich schlage nur vor, dass, wenn 'require' auf jeden Fall glücklich ist (kein Unterschied), dann gibt es keinen Unterschied in Bezug auf' require'. Willst du sagen, dass es nicht hilfreich ist, Antworten zu finden, indem du den Code selbst ausprobierst? – doubleDown
@Nemo 'Paket NAME {...}' ist nur syntaktischer Zucker für '{Paket NAME; ...} '; Sie sind genau das Gleiche. Wenn die letzte Anweisung in Ihrer Datei ein Block ist, dann ist die letzte Anweisung im Block der Wert, den 'require' erhalten wird. – amon
Um fair zu sein, hat Ihre Frage nicht erwähnt, dass Sie es selbst ausprobiert haben und keinen Unterschied gefunden haben, also schlug ich vor, dass Sie es vielleicht versuchen könnten (für den 2. Teil). Da Sie es als beleidigend empfanden (obwohl es nicht meine Absicht war), werde ich den beleidigenden Kommentar entfernen. – doubleDown