Вот как:
$_="ab123.ab456cd.78";
($val = (split(/\./))[1])=~ s/\D//g;
print $val;
(я позволил себе использовать неявное $_
в split
и добавить тег /g
к s///
, потому что удалял один нецифровыйс фронта не имело особого смысла.)
Теперь вы знаете это, не делайте этого .Это не понятно для чтения, это не показывает ваши намерения, и это ужасно.Гораздо понятнее:
$val = (split /\./)[1];
$val =~ s/\D//g;
Код написан не только для компьютера.Это написано для людей, чтобы читать, чтобы они могли позже изменить его.Если вы не напишите хороший код для следующего парня (который может быть вас через 2 месяца), следующий парень будет ужасно разбираться в том, что вы сделали.