<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>That’s awesome, Julian! I hope that gets in soon. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>That’s what I was thinking too, Martin. I figure Perl 7 provides a distinct goal to target. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Kyle, that’s probably right. I guess Debian Testing and then we’ll see it first in a stable Ubuntu. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Although after reading a pretty harsh critique at <a href="http://blogs.perl.org/users/leon_timmermans/2020/06/not-quite-getting-better-yet.html">http://blogs.perl.org/users/leon_timmermans/2020/06/not-quite-getting-better-yet.html</a>, maybe it will be a long time before we see a change to the system Perl. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve been thinking more about how to run Koha using a non-system Perl, but I am not sure if it’s possible right now. After looking through Plack::App::WrapCGI, it looks like even Plack will use the system Perl for the CGI scripts it executes: <a href="https://metacpan.org/source/Plack::App::WrapCGI#L56">https://metacpan.org/source/Plack::App::WrapCGI#L56</a>. So even if Debian/Ubuntu came with a perl7 binary, we wouldn’t be able to use it unless we updated shebangs. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sometimes, I do wonder if we should consider transitioning away from Perl. It would be a huge task for the Staff Client, but the OPAC could be achievable (the cgi-bin folder of OPAC has < 100 files ending in .pl whereas the Staff Client has > 450 – notwithstanding the lib folder). The business logic could be moved to the REST API, and then the presentation logic could be rewritten in whatever language we wanted.  DSpace’s 7.0 release replaces the Java front-end with an Angular front-end. Now I’m not saying we should build a pure-JS front-end, but are we just using Perl due to inertia? If we do leverage the REST API more, it also means it would be easier to rewrite components if the time came where we felt it was necessary to rewrite. Even if we do stick with Perl, maybe we should look at killing of the CGI OPAC and do a fully PSGI compliant OPAC which could use a binary other than /usr/bin/perl. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I suppose in any case it’s still early days for Perl 7, but I reckon there’s no harm in targeting it, and it looks like Julian’s patch and follow-up ideas are a great move toward that!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>David Cook<o:p></o:p></p><p class=MsoNormal>Systems Librarian<o:p></o:p></p><p class=MsoNormal>Prosentient Systems<o:p></o:p></p><p class=MsoNormal>72/330 Wattle St<o:p></o:p></p><p class=MsoNormal>Ultimo, NSW 2007<o:p></o:p></p><p class=MsoNormal>Australia<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Office: 02 9212 0899<o:p></o:p></p><p class=MsoNormal>Online: 02 8005 0595<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US>From:</span></b><span lang=EN-US> Koha-devel <koha-devel-bounces@lists.koha-community.org> <b>On Behalf Of </b>Kyle Hall<br><b>Sent:</b> Thursday, 25 June 2020 11:58 PM<br><b>To:</b> Renvoize, Martin <martin.renvoize@ptfs-europe.com><br><b>Cc:</b> Koha Devel <koha-devel@lists.koha-community.org><br><b>Subject:</b> Re: [Koha-devel] Perl 7<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Totally agreed! We should work toward Perl 7 compliance as soon as possible, which I presume is the point when it is available in Debian.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><div><div><div><div><div><div><div><div><p class=MsoNormal><span style='font-size:12.0pt'>---<o:p></o:p></span></p></div></div><div><p class=MsoNormal><a href="http://www.kylehall.info" target="_blank">http://www.kylehall.info</a><br>ByWater Solutions ( <a href="http://bywatersolutions.com" target="_blank">http://bywatersolutions.com</a> )<br>Meadville Public Library ( <a href="http://www.meadvillelibrary.org" target="_blank">http://www.meadvillelibrary.org</a> )<br>Crawford County Federated Library System ( <a href="http://www.ccfls.org" target="_blank">http://www.ccfls.org</a> )<o:p></o:p></p></div></div></div></div></div></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Thu, Jun 25, 2020 at 4:18 AM Renvoize, Martin <<a href="mailto:martin.renvoize@ptfs-europe.com">martin.renvoize@ptfs-europe.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>I was also reading about Perl 7 last night and the idea of trying to move our codebase towards it excites me.. it would be great if this was the prompt to help concentrate our efforts on modernising our codebase.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Wasn't aware of bug 21395, I'll take a look asap.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I like the idea of adding ProhibitIndirectSyntax to our perlcritic.. I'd back that.<br clear=all><o:p></o:p></p><div><div><div><div><div><div><div><div><div><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=410 style='width:307.5pt'><tr><td style='padding:0cm 0cm 0cm 0cm'></td></tr></table><p class=MsoNormal><span style='display:none'><o:p> </o:p></span></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=450 style='width:337.5pt'><tr><td width=300 style='width:225.0pt;padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Martin Renvoize</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'><o:p></o:p></span></p></td><td style='border:none;border-bottom:none black 1.0pt;padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><a href="https://www.ptfs-europe.com/" target="_blank"><span style='font-family:"Times New Roman",serif;text-decoration:none'><img border=0 width=175 height=26 style='width:1.8229in;height:.2708in' id="_x0000_i1025" src="https://www.ptfs-europe.com/wp-content/uploads/2018/10/ptfs-logo-full-email-sig.png"></span></a><span style='font-family:"Times New Roman",serif'><o:p></o:p></span></p></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Development Team Manager<o:p></o:p></span></p><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Community Release Manager (19.11, 20.05)<o:p></o:p></span></p></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Phone:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> +44 (0) 1483 378728<o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Mobile:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> +44 (0) 7725 985 636<o:p></o:p></span></p></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Email:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> <a href="mailto:martin.renvoize@ptfs-europe.com" target="_blank"><span style='color:#2D5C88'>martin.renvoize@ptfs-europe.com</span></a><o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Fax:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> +44 (0) 800 756 6384<o:p></o:p></span></p></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'></td><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'><a href="https://www.ptfs-europe.com" target="_blank"><span style='color:#2D5C88'>www.ptfs-europe.com</span></a><o:p></o:p></span></p></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial",sans-serif'> <o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial",sans-serif'> <o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial",sans-serif'> <o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr></table><p class=MsoNormal><span style='display:none'><o:p> </o:p></span></p><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='border:none;border-top:solid #C2C2C2 1.0pt'><tr><td style='border:none;padding:15.0pt 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Registered in the United Kingdom No. 06416372   VAT Reg No. 925 7211 30<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Times New Roman",serif'><o:p> </o:p></span></p><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this email message in error, please email the sender at <a href="mailto:info@ptfs-europe.com" target="_blank">info@ptfs-europe.com</a><o:p></o:p></span></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p></div></div></div></div></div></div></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Thu, 25 Jun 2020 at 08:16, Julian Maurice <<a href="mailto:julian.maurice@biblibre.com" target="_blank">julian.maurice@biblibre.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>Le 25/06/2020 à 06:26, <a href="mailto:dcook@prosentient.com.au" target="_blank">dcook@prosentient.com.au</a> a écrit :<br>> The article is worth a read though. It points out a number of language <br>> aspects that have changed (e.g. bareword file handles, indirect object <br>> notation, etc), and we could actually work on eliminating those in our <br>> current code to bring Koha more in line with modern Perl.<br>> <br><br>Just a reminder that this bug exists : <br><a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21395" target="_blank">https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21395</a> (Make <br>perlcritic happy) and that it replaces most (but not all) of the <br>bareword filehandle.<br>We can also add <br><a href="https://metacpan.org/pod/Perl::Critic::Policy::Objects::ProhibitIndirectSyntax" target="_blank">https://metacpan.org/pod/Perl::Critic::Policy::Objects::ProhibitIndirectSyntax</a> <br>to our default .perlcriticrc<br><br>-- <br>Julian Maurice<br>BibLibre<br>_______________________________________________<br>Koha-devel mailing list<br><a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-community.org</a><br><a href="https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" target="_blank">https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>website : <a href="http://www.koha-community.org/" target="_blank">http://www.koha-community.org/</a><br>git : <a href="http://git.koha-community.org/" target="_blank">http://git.koha-community.org/</a><br>bugs : <a href="http://bugs.koha-community.org/" target="_blank">http://bugs.koha-community.org/</a><o:p></o:p></p></blockquote></div><p class=MsoNormal>_______________________________________________<br>Koha-devel mailing list<br><a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-community.org</a><br><a href="https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" target="_blank">https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>website : <a href="http://www.koha-community.org/" target="_blank">http://www.koha-community.org/</a><br>git : <a href="http://git.koha-community.org/" target="_blank">http://git.koha-community.org/</a><br>bugs : <a href="http://bugs.koha-community.org/" target="_blank">http://bugs.koha-community.org/</a><o:p></o:p></p></blockquote></div></div></body></html>