Perl 7 angekündigt

Begonnen von CoolTux, 25 Juni 2020, 19:42:48

Vorheriges Thema - Nächstes Thema

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

zap

Hier ein paar Infos zu den Änderungen

https://www.perl.com/article/announcing-perl-7/

Hält sich in Grenzen. Perl 5 geht in Long Term Support
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

RichardCZ

Änderungen mögen sich in Grenzen halten, die FHEM "Module", die vom Fleck weg nicht funktionieren werden sind:

Plusminus - bekanntlich habe ich keine Zeit das 1% false Positives rauszuklabüstern.

# grep -rl '= new ' FHEM/ | sort -u
FHEM/00_CM11.pm
FHEM/00_FHZ.pm
FHEM/00_KNXTUL.pm
FHEM/00_Neuron.pm
FHEM/00_SONOS.pm
FHEM/00_TUL.pm
FHEM/02_RSS.pm
FHEM/10_EnOcean.pm
FHEM/10_Itach_IR.pm
FHEM/10_KOPP_FC.pm
FHEM/10_pilight_ctrl.pm
FHEM/10_WS980.pm
FHEM/10_ZWave.pm
FHEM/21_HEOSMaster.pm
FHEM/23_LUXTRONIK2.pm
FHEM/30_ENECSYSGW.pm
FHEM/32_mailcheck.pm
FHEM/36_WMBUS.pm
FHEM/37_harmony.pm
FHEM/37_plex.pm
FHEM/37_SHCdev.pm
FHEM/42_SYSMON.pm
FHEM/44_S7_S5Client.pm
FHEM/44_S7_S7Client.pm
FHEM/49_SSCam.pm
FHEM/50_WS300.pm
FHEM/53_GHoma.pm
FHEM/60_allergy.pm
FHEM/60_EM.pm
FHEM/60_Watches.pm
FHEM/70_BRAVIA.pm
FHEM/70_CanOverEthernet.pm
FHEM/70_Jabber.pm
FHEM/70_JSONMETER.pm
FHEM/70_PHTV.pm
FHEM/70_SamsungAV.pm
FHEM/70_SCIVT.pm
FHEM/70_SML.pm
FHEM/70_STV.pm
FHEM/70_USBWX.pm
FHEM/70_VIERA.pm
FHEM/71_YAMAHA_MC.pm
FHEM/72_FRITZBOX.pm
FHEM/73_DoorBird.pm
FHEM/74_Nmap.pm
FHEM/76_SMAInverter.pm
FHEM/77_SMASTP.pm
FHEM/80_M232.pm
FHEM/82_LGTV_WebOS.pm
FHEM/87_WS2000.pm
FHEM/88_HMCCU.pm
FHEM/88_HMCCURPCPROC.pm
FHEM/89_ESPEInk.pm
FHEM/89_FULLY.pm
FHEM/89_VCLIENT.pm
FHEM/89_VCONTROL.pm
FHEM/92_FileLog.pm
FHEM/92_SingleFileLog.pm
FHEM/93_DbRep.pm
FHEM/95_Babble.pm
FHEM/95_PostMe.pm
FHEM/98_autocreate.pm
FHEM/98_DLNARenderer.pm
FHEM/98_GAEBUS.pm
FHEM/98_GOOGLECAST.pm
FHEM/98_inotify.pm
FHEM/98_MediaList.pm
FHEM/98_pilight.pm
FHEM/98_rssFeed.pm
FHEM/98_SVG.pm
FHEM/98_Text2Speech.pm
FHEM/98_TRAFFIC.pm
FHEM/98_UbiquitiMP.pm
FHEM/98_WOL.pm
FHEM/DevIo.pm
FHEM/SHC_parser.pm

Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

CoolTux

Fairer Weise musste aber sagen daß dies ausschließlich an dem Prototyping liegt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

RichardCZ

Hm?

Der grep sucht ja nach indirect object notation. Das hat mit Prototypes erstmal nichts zu tun.

Dann fliegen einem bei Perl 7 auch die bareword filehandles um die Ohren. Aber die meckert PBP ja sowieso umgehend an
und diejenigen die das nicht ignoriert haben "weil sie's können", sind diesbezüglich ja fein raus (was Perl 7 betrifft).  ;)

Tatsache ist aber, dass Signatures default werden mit Perl 7 und da stören Prototypes nur. Ich winke mittlerweile ja nur ab
wenn ich neuen Ballastcode aus fhem.pl nach HoBo migriere und der anno domini 2020 mit Protos und return undef
daherkommt. Schmeisse ich natürlich unbesehen und ungetestet raus.

Tatsache ist aber, dass ich in HoBo keine Eingriffe in die FHEM-Module plane. Wenn da nicht die absolute Mehrzahl  mit Perl7
laufen wird, dann wird auch HoBo - erstmal - nicht Perl7 unterstützen.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

papa

Könnte mir mal jemand Feedback geben, ob das auch meine HM-Erweiterung betrifft ? Zumindest verwende ich auch "new".

https://github.com/pa-pa/AskSinPP/blob/master/examples/custom/contrib/FHEM/HMConfig_AskSinPPCustom.pm
https://github.com/pa-pa/AskSinPP/blob/master/examples/custom/contrib/FHEM/HMMsg.pm

Da ich mit Perl schon immer auf Kriegsfuß stehe, habe ich keine Motivation, mich tiefer als nötig in die Geheimnisse diese "Sprache" einzuarbeiten. Ich habe hier versucht - irgendwie object-orientiert zu arbeiten - aber der Code ist hauptsächlich durch Kopieren von Beispielen ohne tieferes Verständnis entstanden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

RichardCZ

Zitat von: papa am 26 Juni 2020, 12:49:47
Könnte mir mal jemand Feedback geben, ob das auch meine HM-Erweiterung betrifft ? Zumindest verwende ich auch "new".

https://github.com/pa-pa/AskSinPP/blob/master/examples/custom/contrib/FHEM/HMConfig_AskSinPPCustom.pm
https://github.com/pa-pa/AskSinPP/blob/master/examples/custom/contrib/FHEM/HMMsg.pm

Ja.

my $msg = new HMMsg($mTp,$mFlg,$src,$dst,$p);

sollte zu

my $msg = HMMsg->new($mTp,$mFlg,$src,$dst,$p);

werden.

Zitat
Da ich mit Perl schon immer auf Kriegsfuß stehe, habe ich keine Motivation, mich tiefer als nötig in die Geheimnisse diese "Sprache" einzuarbeiten. Ich habe hier versucht - irgendwie object-orientiert zu arbeiten - aber der Code ist hauptsächlich durch Kopieren von Beispielen ohne tieferes Verständnis entstanden.

Kann passieren.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

papa

Danke - das kann man natürlich schnell rpoblemlos ändern.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire