FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: uniqueck am 05 März 2017, 18:13:00

Titel: include in 99_Utils
Beitrag von: uniqueck am 05 März 2017, 18:13:00
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
Titel: Antw:include in 99_Utils
Beitrag von: viegener am 05 März 2017, 18:21:57
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?
Titel: Antw:include in 99_Utils
Beitrag von: rudolfkoenig am 05 März 2017, 18:22:32
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.
Titel: Antw:include in 99_Utils
Beitrag von: Icinger am 05 März 2017, 18:22:57
Leg doch einfach mehrere 99_irgendws.pl an.
Die werden alle automatisch geladen und stehen FHEM-weit zur verfügung.

lg, Stefan
Titel: Antw:include in 99_Utils
Beitrag von: uniqueck am 05 März 2017, 19:15:24
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
Titel: Antw:include in 99_Utils
Beitrag von: rudolfkoenig am 05 März 2017, 19:20:34
Richtig, automatisch geladen wird alles mit 99_, und der Rest bei "Bedarf".