Blog

Rückgabewert von Modulen

05.07.2023 // Renée Bäcker

In den meisten Modulen findet man als letzte Code-Zeile:

1;

Es gibt aber auch andere Werte wie

  • "What???"
  • 42
  • "200 OK"

domm hat CPAN nach diesen interessanten Rückgabewerten durchsucht und eine Seite daraus gebaut: https://returnvalues.plix.at/

Warum gibt es diese Zeile(n) eigentlich? Wahrscheinlich haben die meisten schon eine Fehlermeldung wie

$ perl -I. -MPerl536 -E 1
Perl536.pm did not return a true value.
BEGIN failed--compilation aborted.

gesehen. Ursache ist, dass das Modul keinen wahren Wert zurückliefert. Wenn ein Programm mittels use oder require ein Modul einbindet, lädt Perl die Datei mit einer Variante des eval-Mechanismus. Liefert das keinen wahren Wert, denkt Perl, dass ein Fehler passiert ist.

Mit Perl 5.38 wird sich das ein wenig ändern:

Mit

package Perl538;

use v5.38;
# ... code ...

oder

package Perl538;

use feature "module_true";
# ... code ...

muss das Modul keinen wahren Wert mehr zurückliefern.


Permalink: