Я знаю, что это старо, но я наткнулся на него с помощью Google.
Если у вас есть возвращаемое значение в вашей хранимой процедуре, скажите «Return 1» - не используя выходные параметры.
Вы можете сделать следующее - «@RETURN_VALUE» тихо добавляется к каждому объекту команды. НЕТ НЕСКОЛЬКО ДОБАВИТЬ ДОБАВИТЬ
cmd.ExecuteNonQuery();
rtn = (int)cmd.Parameters["@RETURN_VALUE"].Value;
@array = ( $string =~ m/../g );
оператор сопоставления с образцом ведет себя специальным способом в контексте списка в Perl. Это обрабатывает операцию многократно, соответствуя шаблону против остатка от текста после предыдущего соответствия. Затем список формируется из всего текста, который соответствовал во время каждого приложения сопоставления с образцом.
Если действительно необходимо использовать split
, можно сделать a:
grep {length > 0} split(/(..)/, $string);
, Но я думаю, что самый быстрый путь был бы с unpack
:
unpack("(A2)*", $string);
Оба этих метода имеют "преимущество", что, если строка имеет нечетное число символов, она произведет последний на своем собственном.
На самом деле, для ловли нечетного символа Вы хотите сделать второй символ дополнительным:
@array = ( $string =~ m/..?/g );