|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrew Alakozow 2:5061/6 18 Dec 2003 11:50:32 To : Mitya Gladyshev Subject : Re: а как пpавильно пpовеpить? -------------------------------------------------------------------------------- MG> есть стpочка типа l15m2xd MG> нyжно в нескольких стpоках скpипта пpовекpять наличие опpеделенного MG> паpаметpа. делаю так 'Сравнить с шаблоном, если есть совпадение, то запомнить первую группу иначе константу'. Так и записываем: $len = $attr =~ /[lL](\d+)/ && $1 || 50; $maxcol = $attr =~ /[mM](\d+)/ && $1 || 1; Можно записать так: $len = ($attr =~ /[lL](\d+)/)[0] || 50; или $len = shift @{[$attr =~ /[lL](\d+)/]} || 50; поскольку в списковом контексте возвращается список совпадений, но это менее читаемо. MG> my $len = 50; MG> $attr =~ /[lL](\d+)/; MG> if ($1 ne '/') { $len = $1; } $1 не может быть равен '/' потому что он (\d+) aa29 --- Microsoft Outlook Express 6.00.2720.3000 * Origin: Life In The Dark (2:5061/6) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/43759278de1fd.html, оценка из 5, голосов 10
|