Pourquoi est divisé sur le caractère " | " (pipe) ne fonctionne pas comme prévu?

J'ai une chaîne que je veux partager. Mais le séparateur est déterminé au moment de l'exécution et donc j'ai besoin de passer comme une variable.

Quelque chose comme my @fields = split(/$delimiter/,$string); ne fonctionne pas. Toutes les pensées?


D'entrée:

abcd|efgh|23

Résultat Attendu:

abcd
efgh
23
Votre entrée, la production réelle et la production prévue serait extrêmement utile de l'information...
Vous ne disposez pas d'un "séparateur", vous avez un "séparateur". Un "séparateur" marque les limites, c'est à dire. c'est aux deux extrémités, comme les doubles guillemets. Un "séparateur" passe entre les éléments, comme le "|" dans votre exemple d'entrée.
double possible de Comment puis-je gérer les caractères spéciaux dans une expression rationnelle Perl?
merci cela m'a aidé à résoudre un problème que je travaillais sur

OriginalL'auteur Chris | 2011-03-28