Juste une petite question à propos de ce code perl; Je suis chargé de prendre un scalaire STDIN et de le faire correspondre avec une ligne qui contient au moins 3 à 15 caractères entre guillemets (sans une autre citation dans les guillemets). Si c'est le cas, mon programme devrait imprimer "Oui", sinon "Non". Je me demande simplement s'il existe un moyen plus éloquent d'y parvenir? Je l'ai en travaillant avec ce code:Existe-t-il un meilleur moyen de faire correspondre cette regex à perl?
#!/usr/bin/perl
use strict;
use warnings;
use 5.26.0;
#2. Match a line that contains in it at least 3 - 15 characters between
# quotes (without another quote inside the quotes).
say "Enter your input.";
chomp(my $input = <STDIN>);
if ($input =~ m/^"([^"])*"$/){
if ($input =~ m/^".{3,15}"$/){
say "Yes.";
}
else{ say "No.";}
}
else{ say "No.";}
Merci!
'if ($ input = ~ m/^" [^ "] {3,15}" $ /) {say "Oui.";} Else {say "Non";} ' –
Notez que' use 5.26.0' active implicitement 'strict', donc techniquement' use strict' est redondant. – melpomene