FHEM Forum

FHEM => Automatisierung => Thema gestartet von: fiedel am 28 Juni 2015, 11:19:48

Titel: Parameter an sub übergeben - welche Methode ist zukunftssicher?
Beitrag von: fiedel am 28 Juni 2015, 11:19:48
Hallo,

zur Parameterübergabe an eine sub in der myUtils habe ich bisher 2 Varianten kennen gelernt:

Hier mal zwei Beispiele dazu:
sub Balken($$$$$$) {
my ($name, $max, $height, $width, $color1, $color2) = @_;


sub exmail {
  my $rcpt = $_[0];
  my $subject = $_[1];
  my $text = $_[2];


Ich würde gern wissen, welches der Verfahren am zukunftssichersten, oder empfehlenswertesten ist. Oder gibt es weitere Verfahren, die noch empfehlenswerter sind?

Gruß

Frank
Titel: Antw:Parameter an sub übergeben - welche Methode ist zukunftssicher?
Beitrag von: Elektrolurch am 28 Juni 2015, 12:19:02
Variante 1 ist die Zuweisung einer Liste auf eine Liste, Variante 2 die Zuweisung der einzelnen Komponenten einer Liste (sind Skalare) auf Skalare.
Die Schreibweise ist aufwendiger und birgt mehr Tippfehler.

Elektrolurch
Titel: Antw:Parameter an sub übergeben - welche Methode ist zukunftssicher?
Beitrag von: justme1968 am 28 Juni 2015, 12:26:47
ich glaube du schmeißt gerade zwei dinge durcheinander.

zum einen die funktions definition mit der deklaration der übergabe parameter.

hier ist die variante mit parameter angabe die moderne und gegen fehler sicherer.

und zum anderen die zuweisung der übergabe parameter an lokale variablen. das kann man auf jede art und weise machen die perl bietet (und da gibt es noch ein paar mehr die sich jeweils mit oder ohne deklaration verwenden lassen) oder auch ganz lassen. ich würde sagen die erste version ist am übersichtlichsten und am wenigsten fehler anfällig.

gruss
  andre
Titel: Antw:Parameter an sub übergeben - welche Methode ist zukunftssicher?
Beitrag von: fiedel am 28 Juni 2015, 15:14:23
Super, danke euch beiden! Werde also demnächst nur noch Dollarzeichen in den Augen haben...  ;D