Il suffit de l'utiliser. En Perl, une chaîne qui ressemble à un nombre est un nombre.
Maintenant, si vous voulez être sûr que la chose est un nombre avant l'utiliser alors il y a une méthode utilitaire dans Scalar::Util
qui le fait:
use Scalar::Util qw/looks_like_number/;
$input=substr($line,1,index($line,",")-1);
if (looks_like_number($input)) {
$input += 1; # use it as a number!
}
Sur la base de l'entrée de l'échantillon vous avez laissé dans le commentaires, une méthode plus robuste d'extraire le nombre est:
$line =~ /([^\[\],]+)/; # <-- match anything not square brackets or commas
$input = $1; # <-- extract match
pouvez-vous donner un exemple de la façon dont '$ line' est généré? –
$ ligne est lue à partir d'un fichier journal. ouvrir (fHandle, "+ <", $ path) ou mourir "$!"; foreach $ ligne () \t \t {\t {\t $ input = int (substr ($ ligne, 1, index ($ ligne, ",") - 1)); } Ceci est le code complet. –
fixxxer
Pouvons-nous avoir un exemple de ligne de votre fichier s'il vous plaît afin que nous puissions suggérer de meilleures façons d'extraire le nombre. – slebetman