2010-05-19 2 views

Répondre

3
my $string = "Group: ALL:ALL:Good"; 
my @str = split(/:/, $string, 2); 

print $str[0]; 
print $str[1]; 
+0

Downvote parce que ce code est bâclé et provoque des erreurs lors de l'exécution sous pragma 'strict' et' avertissements'. Vous voulez le réparer? – daxim

+0

@daxim: Bien sûr. Fixé. – Tomalak

10

Vous ne voulez pas dire ça?

@str2 = split (/:/,$string,2); 

Sinon, vous partagerez la chaîne :, qui semble un peu inutile.

2

Pour utiliser la limite avec répartition

@array = split /PATTERN/,EXPR,LIMIT; 

De PerlDoc split function:

Si LIMITE est spécifié et positif, il représente le nombre maximum de champs EXPR sera divisé en , si le nombre réel de champs retourné dépend du nombre de tim es PATTERN correspond à EXPR. Si LIMIT est non spécifié ou zéro, les champs vides sont supprimés (qui utilisateurs potentiels de pop ferait bien à retenir). Si LIMIT est négatif, est traité comme si une limite arbitraire avait été spécifiée. Notez que la division d'un EXPR qui évalue à la chaîne vide renvoie toujours la liste vide , quelle que soit la limite spécifiée.

Questions connexes