无法在perl中拆分字符串-变得不匹配(在正则表达式中;在m/error中标记为(-)

无法在perl中拆分字符串-变得不匹配(在正则表达式中;在m/error中标记为(-),perl,split,Perl,Split,下面是我的代码 $var = ' "jjjjjjjj&Q_30006_47=540IT%20(540%2FOR%2FHPSC%2FD%2F02%2F11&Q_30006_4=&Q_30006_6=12&Q_30006_7=&Q_30006_" &'; ($temp1,$temp2) = split($var,"&"); print $temp1; 我需要去 $temp1=“jjjjj 和 $temp2作为第一个&

下面是我的代码

$var = '            "jjjjjjjj&Q_30006_47=540IT%20(540%2FOR%2FHPSC%2FD%2F02%2F11&Q_30006_4=&Q_30006_6=12&Q_30006_7=&Q_30006_" &';

($temp1,$temp2) = split($var,"&");

print $temp1;
我需要去 $temp1=“jjjjj 和 $temp2作为第一个&之后字符串的剩余部分

我由于字符串中的“(”而出错

有谁能告诉我如何分割这个吗。
谢谢!!

我认为您的参数顺序有误。模式应该是首先:

($temp1,$temp2) = split("&", $var);
但是,这将在所有
&
字符上拆分。您可能正在查找此字符(2是限制):


我认为您的参数顺序是错误的。模式应该是第一个:

($temp1,$temp2) = split("&", $var);
但是,这将在所有
&
字符上拆分。您可能正在查找此字符(2是限制):


是的,我调用split函数的方式是错误的。谢谢,您的代码工作正常!!我更喜欢编写
split(/&/,$var)
,以提醒您第一个参数是正则表达式(像
split(“?”,$var)
之类的东西会出错)是的,我调用split函数的方式是错误的。谢谢,你的代码工作了!!我更喜欢写
split(/&/,$var)
,作为提醒,第一个参数是正则表达式(类似
split(“?”,$var)
的东西会出错),将来你应该首先参考手册(perldoc.perl.org)如果您不确定如何使用特定函数,以后如果您不确定如何使用特定函数,应首先查阅手册(perldoc.perl.org)。
($temp1,$temp2) = split '&', $var, 2;