include in 99_Utils

Begonnen von uniqueck, 05 März 2017, 18:13:00

Vorheriges Thema - Nächstes Thema

uniqueck

Hallo FHEM Entwickler,

ich hätte da mal ne Frage. Ein include einer '*.pl' sollte doch in den 99_myUtils.pm möglich sein, oder?


##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
TelegramUtils_Initialize($$)
{
  my ($hash) = @_;
}

# include because it is generate from a tool for decision tables
include 'PostMeTelegram.pl';

1;


Die PostMeTelegram.pl enthält wiederrum eine sub.


sub telegramRecognition($){
}


Allerdings wenn ich diese dann von FHEM ausaufrufen will, kommt diese Methode gibt es nicht.
Mache ich hier noch etwas falsch?
Ich will das ganze deswegen aufteilen, da ich Methoden mit Hilfe eines Entscheidungstabellen Tools generiere. Daher auch die Aufteilung immer in einzelne Teile, die dann wiederrum in eine 99_utils, oder aber auch in normale Module inkludiert werden sollen.

Das Beispiel zielt aktuell auf die 99_myUtils ab, aber prinzipiell will ich das eher für meine Module nehmen, welche ich entwickle.

Vielen Dank und ich hoffe die Anfrage ist hier nicht komplett falsch aufgehoben.

Gruß Constantin

viegener

Meine perl-Kenntnisse sind ja leider ziemlich lückenhaft, aber meines Wissens nach gibt es kein direktes include in perl aber es müsste scih doch über so etwas wie use lösen lassen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

rudolfkoenig

Ich vermute du verwechselst das FHEM include Befehl (fuer weitere config-Dateien) mit einem (nicht existierenden) perl-include Anweisung. In Perl gibts use und require mit vergleichbarer Funktionalitaet.

Icinger

Leg doch einfach mehrere 99_irgendws.pl an.
Die werden alle automatisch geladen und stehen FHEM-weit zur verfügung.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

uniqueck

Danke schon einmal für eure Rückmeldungen, ja ich habe da mehrere Beiträge in diversen Perl Foren gelesen, und deswegen ja der Versuch, da ich dort auch so etwas gefunden hatte.

Ich habe es nun über use und package gelöst, so geht es, allerdings stellt sich dann natürlich die Frage ob das so einen Sinn macht, weil dann kann ich ja auch alle einzeln erstellen, also für jede sub eine 99_Utils.

@Rudolf: Wenn ich da keine 99_ vorne dran hänge, sondern komplett ohne arbeite, hat das aber keine Auswirkung auf den normalen Ladeprozess für Module, oder?


Gruß Constantin

rudolfkoenig

Richtig, automatisch geladen wird alles mit 99_, und der Rest bei "Bedarf".