Правило перевода - PullRequest
       1

Правило перевода

0 голосов
/ 25 сентября 2011

Мне нравится создавать правило перевода в систему VoIP, чтобы получить следующий результат: Если кто-то наберет 4545, система должна преобразовать это в 1234545, мне удалось сделать это со следующим правилом: s / ^ 4545/1234545 /

Моя проблема сейчас, если кто-то набирает 454567, мое правило преобразует это в 123454567, и я хочу получить 1234545 thx

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Не ясно, почему 454567 должен стать 1234545?Должна ли строка 4545 где-то в ней быть 1234545?

Если вы просто хотите изменить точную строку 4545 на 1234545, тогда вы можете использовать s/^4545$/1234545/.

Если хотитеСтрока с пробегом 4545 в любом месте, чтобы стать 1234545, тогда вы можете использовать s/.*4545.*/1234545.

0 голосов
/ 25 сентября 2011
$number='1234545' if ($number eq '4545'); #eq because phone number can contain non-digits.

Если вы хотите преобразовать любое число, начинающееся с '4545', используйте этот код:

s/^4545.*/1234545/
...