$w = 'self-powering';
%h = (self => 'self',
power => 'pauә',
);
if ($w =~ /(\w+)-(\w+)ing$/ && $1~~%h && $2~~%h && $h{$2}=~/ә$/) {
$p = $h{$1}.$h{$2}.'riŋ';
print "$w:"," [","$p","] ";
}
je me attends à la sortie soitPourquoi ce code ne fait pas ce que je veux dire?
self-powering: selfpauәriŋ
Mais ce que je reçois est:
self-powering: [riŋ]
Je pense que quelque chose ne va pas avec le code
$h{$2}=~/ә$/
Il semble que lorsque J'utilise
$h{$2}!~/ә$/
Perl fera ce que je veux dire, mais pourquoi je ne peux pas obtenir "self-powering: selfpauәriŋ"? Qu'est-ce que je fais de mal? Des idées?
Merci comme toujours pour les commentaires/suggestions/pointeurs :)
Je reçois rarement du code pour faire ce que je veux dire. *Soupir*. –
Quel encodage de caractères utilisez-vous? UTF-8? Avez-vous lu http://perldoc.perl.org/utf8.html? – Boldewyn
@Boldewyn, merci d'avoir laissé le commentaire. Mais ce problème a peu à voir avec l'encodage UTF-8. Le script est enregistré au format UTF-8 et peut sortir le contenu comme prévu sans aucun traitement de codage en script sur ma boîte Windows. – Mike