<div dir="ltr">Cool et merci de nous tenir au courant !<div><br></div><div>J&#39;ai pas tout suivi mais apparemment vous vous êtes basés sur cet article par Ovid :</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><span style="color:rgb(51,51,51);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:14px">I know that </span><code style="margin:0px;padding:2px;border:0px;font-size:14px;vertical-align:baseline;color:rgb(51,51,51)"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Veure</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(0,0,0)">::</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Module</span></code><span style="color:rgb(51,51,51);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:14px"> won&#39;t meet your exact needs, but the idea of building standards into a single module is worth the trouble. Combine that with </span><code style="margin:0px;padding:2px;border:0px;font-size:14px;vertical-align:baseline;color:rgb(51,51,51)"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Perl</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(0,0,0)">::</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Critic</span></code><span style="color:rgb(51,51,51);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:14px"> and </span><code style="margin:0px;padding:2px;border:0px;font-size:14px;vertical-align:baseline;color:rgb(51,51,51)"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Perl</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(0,0,0)">::</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(204,68,0)">Tidy</span></code><span style="color:rgb(51,51,51);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:14px"> and you&#39;re well on your way to reining in the headache of large codebases.</span></div></blockquote><div><div><br></div><div><a href="http://blogs.perl.org/users/ovid/2019/03/enforcing-simple-standards-with-one-module.html" target="_blank">http://blogs.perl.org/users/ovid/2019/03/enforcing-simple-standards-with-one-module.html</a><br></div></div><div><br></div><div>k</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 6 Jul 2022 at 13:51, Stéphane Gigandet &lt;<a href="mailto:biz@joueb.com" target="_blank">biz@joueb.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
Suite à ce message, Sébastien Feugère (un grand merci à lui) a répondu <br>
en commentaire dans l&#39;issue sur GitHub, et il nous a pointé vers <br>
Veure::Module.<br>
<br>
On a donc activé les signatures, avec un module pour remplacer le <br>
Modern::Perl qu&#39;on utilisait jusqu&#39;alors pour le &quot;boilerplate&quot; :<br>
<a href="https://github.com/openfoodfacts/openfoodfacts-server/pull/7009" rel="noreferrer" target="_blank">https://github.com/openfoodfacts/openfoodfacts-server/pull/7009</a><br>
<br>
package ProductOpener::PerlStandards;<br>
<br>
use 5.24.0;<br>
use strict;<br>
use warnings;<br>
use feature ();<br>
use utf8;<br>
<br>
sub import {<br>
     warnings-&gt;import;<br>
     warnings-&gt;unimport(&#39;experimental::signatures&#39;);<br>
     strict-&gt;import;<br>
     feature-&gt;import(qw/signatures :5.24/);<br>
     utf8-&gt;import;<br>
}<br>
<br>
sub unimport {<br>
     warnings-&gt;unimport;<br>
     strict-&gt;unimport;<br>
     feature-&gt;unimport;<br>
     utf8-&gt;unimport;<br>
}<br>
<br>
1;<br>
<br>
Bonne après midi,<br>
<br>
Stéphane<br>
<br>
<br>
Le 30/06/2022 à 10:08, Stéphane Gigandet a écrit :<br>
&gt; Bonjour,<br>
&gt;<br>
&gt; Dans le code d&#39;Open Food Facts, on a pris l&#39;habitude d&#39;utiliser les <br>
&gt; prototypes des fonctions pour indiquer le nombre de paramètres attendus.<br>
&gt;<br>
&gt; Du genre :<br>
&gt;<br>
&gt; sub ma_fonction($$) {<br>
&gt;<br>
&gt;     my $param1 = shift;<br>
&gt;<br>
&gt;     my $param2 = shift;<br>
&gt;<br>
&gt; ..<br>
&gt;<br>
&gt; }<br>
&gt;<br>
&gt; C&#39;est pratique car si j&#39;appelle ma_fonction(&quot;un seul paramètre&quot;), j&#39;ai <br>
&gt; une erreur à la compilation.<br>
&gt;<br>
&gt; Mais il y a plein de posts qui expliquent quel les prototypes en Perl <br>
&gt; c&#39;est mal et qu&#39;il ne faut pas les utiliser comme ça. En pratique <br>
&gt; aucune de nos fonctions n&#39;est appelée avec des listes en paramètres, <br>
&gt; seulement des scalar / des ref.<br>
&gt;<br>
&gt; On se pose la question de changer ces prototypes : les garder, les <br>
&gt; enlever, les remplacer par les signatures <br>
&gt; <a href="https://perldoc.pl/perlsub#Signatures" rel="noreferrer" target="_blank">https://perldoc.pl/perlsub#Signatures</a> ?<br>
&gt;<br>
&gt; Le début de discussion est là : <br>
&gt; <a href="https://github.com/openfoodfacts/openfoodfacts-server/issues/6956" rel="noreferrer" target="_blank">https://github.com/openfoodfacts/openfoodfacts-server/issues/6956</a><br>
&gt;<br>
&gt; Je me demandais ce que vous faisiez dans vos projets ?<br>
&gt;<br>
&gt; Merci et bonne journée (sous la pluie ?),<br>
&gt;<br>
&gt; Stéphane<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Perl mailing list<br>
&gt; <a href="mailto:Perl@mongueurs.net" target="_blank">Perl@mongueurs.net</a><br>
&gt; <a href="http://listes.mongueurs.net/mailman/listinfo/perl" rel="noreferrer" target="_blank">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
&gt; Attention, les archives sont publiques<br>
<br>
<br>
_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@mongueurs.net" target="_blank">Perl@mongueurs.net</a><br>
<a href="http://listes.mongueurs.net/mailman/listinfo/perl" rel="noreferrer" target="_blank">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
Attention, les archives sont publiques<br>
</blockquote></div>