2

私はそのPerlsplitを2時間以上動作させようとしています。エラーは表示されません。たぶん、他の人の目がそれを見て問題を見ることができます。私はそれがばかげていると確信しています:

@versionsplit=split('.',"15.0.3");

print $versionsplit[0];
print $versionsplit[1];
print $versionsplit[2];

空の配列を取得します。なぜですか?

4

2 に答える 2

14

必要なもの:

@versionsplit=split(/\./,"15.0.3");

の最初の引数splitは正規表現であり、文字列ではありません。そして.、「任意の文字に一致する」を意味する正規表現記号です。したがって、入力文字列内のすべての文字は区切り文字として扱われ、splitそれらの間に返されるものは何も見つかりませんでした。

于 2013-01-10T11:29:09.763 に答える
1

.」は任意の文字を表します。分割関数がフィールド区切り文字として認識するためには、それをエスケープする必要があります。行をに変更します

@versionsplit=split('\.',"15.0.3");
于 2013-01-10T12:24:54.057 に答える