Forum Webscript.Ru

Программирование => Perl => Тема начата: webser от 18 Ноября 2008, 15:47:16

Название: Выбор по шаблону
Отправлено: webser от 18 Ноября 2008, 15:47:16
Возникла задача разобрать строку по определенным правилам.
Например, разбить
$articul = "11/3-0055"  на 11 (до /) и 3 (между / и - )
Как сделать первое - нашел -
$tmp_articul = ($articul=~/^(\\w+)\\//)[0]; # выделение части из артикула для идентификации
print "articul :::: ", $articul,"   |     часть :::: ", $tmp_articul,"
";

получаем $tmp_articul = 11

А как достать комбинацию символов между / и - . т.е. 3 - никак. И так, и эдак пробовал, в инете и книги смотрел - не получается.
Помогите получить выражение.

Заранее благодарен.

P.S. Может можно сразу в массив получить три переменные - 11, 3 и 0055
Название: Выбор по шаблону
Отправлено: APL от 18 Ноября 2008, 16:24:49
@a = ($articul=~/^(\\w+)\\/(\\w+)\\-(\\w+)/) ;
print join \', \', @a;
Название: Выбор по шаблону
Отправлено: webser от 18 Ноября 2008, 17:57:38
Спасибо...
Название: Выбор по шаблону
Отправлено: arto от 18 Ноября 2008, 21:11:06
(split "/-",$_)[0,1]