Un sigillo è il primo carattere di un identificatore in Perl . Non è alfanumerico e ne indica il tipo . Quindi Perl non è solo un linguaggio tipizzato dinamicamente , è anche un linguaggio tipizzato staticamente , anche se con pochi tipi statici.
$a # variable de type scalaire @a # variable de type tableau %a # variable de type hash \&a # fonctionL'interpolazione scalare in una stringa è molto utile. Questa semantica è ereditata dalle shell Unix .
Perl 6 introduce sigilli secondari chiamati twigils :
$foo # variable classique sans sigil secondaire $^foo # paramètre auto-déclaré $*foo # variable globale $?foo # indication pour le compilateur $=foo # variable pod : pour la documentation $<foo> # variable de match utilise dans les regex $!foo # attribut privé de l'objet courant $.foo # attribut public de l'objet courant... # ...accesseur pour du code en dehors de la classe de l'objetLarry Wall dice che la semantica dei rametti di Perl 6 è più o meno quella dei sigilli di Ruby.
Il fatto che il tipo statico abbia una controparte lessicale ha un notevole vantaggio. Il tipo statico è quindi inseparabile dal nome. È una forma di auto-documentazione. Perl 6 estende questo meccanismo documentario. Quindi, quando la documentazione di Perl 6 parla .toto, si tratta del metodo toto . Il punto non è strettamente parlando un sigillo perché il nome del metodo è toto. Ma poiché il punto fa parte della sintassi della chiamata del metodo, questa convenzione di denominazione è mnemonica.