Hausautomatisierung
bearbeitet von pl Mahlzeit,
>
> > Ja, ich hab mich wohl falsch ausgedrückt. Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In [Perl](http://rolfrost.de/px1673.html) jedoch ist das wesentlich schöner anzuschauen ;)
>
> Ok, dann schaut das anders aus. Grade für sowas ist für mich Perl immer noch erste Wahl.
>
Und ja, mit einer einzigen Code-Referenz mehrere Public-Methoden zu erzeugen ist in Perl ja auch kein Problem:
~~~perl
# On || Off || switch über eine anonyme Funktion
sub AUTOLOAD{
my $self = shift;
my $name = our $AUTOLOAD =~ /::(\w+)$/ ? $1 : '';
if( $name eq 'On' || $name eq 'Off' ){
$self->$OnOff($name, @_);
}
elsif( $name eq 'switch'){
$self->$OnOff(@_);
}
else{ die "Unbekannte Funktion: '$name'!\n" }
}
~~~
Beliebig erweiterbar, keine Code-Redundanzen und trotzdem [übersichtlich](http://rolfrost.de/px1673.html).
MfG