>Дано:
>У каждого абонента имеется ID из 8 цифр от (0-9)
>На пример: 17070217
>Последние 2 цифры это сумма 6 предидущих. То есть: 1+7+0+7+0+2=17
>Если сумма не двузначное число то добаляется то перед ней добавляется 0.
>
>На пример: 11111106
>
>Надо написать регулярное выражение по которому оператор терминалов будет проверят следующее:
>1. ID содержит ровно 8 цифр от 0 до 9.
>2. Последние 2 цифры это сумма 6 предидущих. Регулярное выражение, считающие суммы написать нельзя, автоматы впринципе не умеют складвать.
пишите функцию для проверки типа
sub check {
my ($n)=@_;
return '' unless ($n=~/^\d+$/);
my $s=0; foreach ((split //, $n)[0..5]) {$s+=$_}
return '' unless ($s == substr($n, -2));
return 1;
}
может подумав можно что-то покомпактней написать, но только на регулярных выражениях такую проверку не сделать.