FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: CoolTux am 25 Juni 2020, 19:42:48

Titel: Perl 7 angekündigt
Beitrag von: CoolTux am 25 Juni 2020, 19:42:48
https://www.heise.de/amp/news/Programmiersprache-Perl-7-angekuendigt-4794873.html
Titel: Antw:Perl 7 angekündigt
Beitrag von: zap am 25 Juni 2020, 20:34:42
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
Titel: Antw:Perl 7 angekündigt
Beitrag von: RichardCZ am 26 Juni 2020, 12:15:24
Ä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

Titel: Antw:Perl 7 angekündigt
Beitrag von: CoolTux am 26 Juni 2020, 12:23:19
Fairer Weise musste aber sagen daß dies ausschließlich an dem Prototyping liegt.
Titel: Antw:Perl 7 angekündigt
Beitrag von: RichardCZ am 26 Juni 2020, 12:31:18
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.
Titel: Antw:Perl 7 angekündigt
Beitrag 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

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.
Titel: Antw:Perl 7 angekündigt
Beitrag von: RichardCZ am 26 Juni 2020, 16:25:03
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.
Titel: Antw:Perl 7 angekündigt
Beitrag von: papa am 26 Juni 2020, 20:09:35
Danke - das kann man natürlich schnell rpoblemlos ändern.