Perl Error: Undefined subroutine x::x called at x

Der Error „Undefined subroutine“ in Perl bedeutet im Grunde genommen nur, dass die Subroutine, die aufgerufen wird, nicht gefunden bzw. nicht definiert worden ist.

So definiert man eine Subroutine in Perl:

sub testroutine {
#code zum ausführen
}

Wenn man eine Subroutine aus einem anderen package aufrufen möchte muss man diese vorher mit

Use PaketMitSubroutine;

und an gewünschter Stelle im Code:

$data = PaketMitSubroutine::testroutine();

aufrufen. Somit wird klar gestellt, dass „testroutine“ eine Subroutine aus dem package „PaketMitSubroutine“ ist und das Programm dort nach dieser Subroutine suchen muss. Ansonsten würde es im eigenen Paket nach „testroutine“ suchen, jedoch nicht fündig werden und einen Error produzieren.

Kategorien: Informatik

Lars Joppich

Lars ist eins der beiden Gründungsmitglieder und dazu versklavt auf ewig hier zu bloggen.