Estoy intentando verificar por error el formato de una cadena $precio
La cadena comenzará con un símbolo de moneda. (Como hay tantos, me lo saltaré, así que muéstralo a continuación como ?)
Entonces los formatos CORRECTOS son "?12.34" o "? 2.34" o "?2.34" Incorrecto sería "1234" / "234"
Entonces, antes que nada, verifico la coincidencia negativa para un decimal, usando una búsqueda global (ahora la expresión regular divertida). Estoy tratando de verificar el NEGATIVO (es decir, NO se ajusta a) uno o dos dígitos del 0 al 9, seguido de un decimal. por dos dígitos 0-9. Se me ocurrió el siguiente patrón teórico (no probado). Como es mi primera expresión regular compleja, ¿lo he hecho bien?
if ($price eq ''){
say'';
say 'You did not enter any price. Try again';
say'';
}
elsif ($price !~ /\./g ){
say'';
say 'Please include a decimal point';
say'';
}
elsif ($price !~ /[0-9]{1,2}\.[0-9]{2}$/){
say'';
say 'Please check the format of price (XX.XX)';
say'';