oui - utiliser uc()
(fonction majuscule, voir http://perldoc.perl.org/functions/uc.html)
$ perl -e 'print uc("steve") eq uc("STevE"); print "\n";'
1
$ perl -e 'print uc("SHOE") eq uc("shoe"); print "\n";'
1
$ perl5.8 -e 'print uc("SHOE") eq uc("shoe1"); print "\n";'
$
Vous pouvez évidemment utiliser lc()
aussi bien. Si vous voulez que l'opérateur "eq" réel soit insensible à la casse, il peut être possible d'utiliser des surcharges, mais je ne pense pas que ce soit ce que vous demandez - veuillez clarifier votre question si c'est le cas. Ce n'est pas une bonne idée si vous le voulez, à mon humble avis - trop fragile et conduit à la plus difficile possible de tracer et de déboguer les bogues.
En outre, il est un surpuissant dans votre cas précis où vous voulez juste l'égalité, mais Perl expressions régulières ont également modifyer cas indépendant « i »
Cela fonctionne très bien – shinjuo