Хорошего дня,Perl поменять два слова
У меня есть простая рабочая рутина в Perl, что SWAPS два слова:
т.е. John Doe -----> Doe John
Вот оно:
sub SwapTokens()
{
my ($currentToken) = @_;
$currentToken =~ s/([A-Za-z]+) ([A-Za-z]+)/$2 $1/;
# $currentToken =~ s/(\u\L) (\u\L)/$2 $1/;
return $currentToken;
}
следующие выходы использования именно то, что я хочу:
print &SwapTokens("John Doe");
Но когда я раскомментирую строку '$ currentToken = ~ s/(\ u \ L) (\ u \ L)/$ 2 $ 1 /;
У меня есть ошибка. Я что-то упускаю, похоже, что мой синтаксис верен.
ТИА,
Coson
Возможно ли помочь вам, если вы разработаете больше, чем «Я получаю сообщение об ошибке»; почему вы пытаетесь выполнить второе регулярное выражение, если первый уже работает по мере необходимости? – lanzz
Ошибка, которую я получаю: Ошибка синтаксиса в строке script.pl XX, рядом с "(\ u \ L) (\ u \ L" Неверное объявление основной подпрограммы :: IsTitleCase2 в файле scriptname.pl – coson