Помогите разделить строку в перле, alexeylomov, 07-Фев-05, 15:35 [смотреть все]есть список файлов <имя>.<середина>.<окончание> допустим он хранится в @my_list Нужно получить список имён @my_names тех файлов, у которых середина=test, то есть то, что идёт у них до первой точки. Что-то типа: #!/usr/bin/perl -w ..... ..... for( my $i = 0; $i < scalar( @my_list ); $i++ ) { if( $my_list[$i] =~ /test/ ) { push @my_names, <?чего-то_там?> } } ..... Подскажите, пожалуйста, что там вписать? Или предложите другой способ. |
- Помогите разделить строку в перле, sly, 16:09 , 07-Фев-05 (1)
my @test_names; foreach my $fh (@my_names){ if ($fh =~ /^(\w+)\.test\.\w+$/){ push @test_names,$1; } }>есть список файлов <имя>.<середина>.<окончание> >допустим он хранится в @my_list >Нужно получить список имён @my_names тех файлов, у которых середина=test, то есть >то, что идёт у них до первой точки. >Что-то типа: >#!/usr/bin/perl -w >..... >..... >for( my $i = 0; $i < scalar( @my_list ); $i++ ) >{ > if( $my_list[$i] =~ /test/ ) { > push @my_names, <?чего-то_там?> > } > } >..... >Подскажите, пожалуйста, что там вписать? >Или предложите другой способ.
- Помогите разделить строку в перле, alexeylomov, 16:18 , 07-Фев-05 (2)
>my @test_names; >foreach my $fh (@my_names){ > if ($fh =~ /^(\w+)\.test\.\w+$/){ > push @test_names,$1; > } >} > >>есть список файлов <имя>.<середина>.<окончание> >>допустим он хранится в @my_list >>Нужно получить список имён @my_names тех файлов, у которых середина=test, то есть >>то, что идёт у них до первой точки. >>Что-то типа: >>#!/usr/bin/perl -w >>..... >>..... >>for( my $i = 0; $i < scalar( @my_list ); $i++ ) >>{ >> if( $my_list[$i] =~ /test/ ) { >> push @my_names, <?чего-то_там?> >> } >> } >>..... >>Подскажите, пожалуйста, что там вписать? >>Или предложите другой способ. Спасибо.
- Помогите разделить строку в перле, PoizOn, 16:57 , 10-Фев-05 (3)
НУ на примере объясню. файл например имеет имя good.test.txt, загоняем все файлы в массив через opendir, readdir, затем по массиву организуем поиск, например такой:$string="good.test.txt";# для примера в твоем случае это будет один из элементов массива $string=~/(\w+)\.(\w+)\.(\w+)/; print "Начало: $1\nСередина: $2\nКонец: $3\n"; ну а эти данные вы можете уже засунуть куда угодно. Сверив середину со словом test.
- Помогите разделить строку в перле, alexeylomov, 17:26 , 10-Фев-05 (4)
>НУ на примере объясню. файл например имеет имя good.test.txt, загоняем все файлы >в массив через opendir, readdir, затем по массиву организуем поиск, например >такой: > >$string="good.test.txt";# для примера в твоем случае это будет один из элементов массива > > >$string=~/(\w+)\.(\w+)\.(\w+)/; > >print "Начало: $1\nСередина: $2\nКонец: $3\n"; > >ну а эти данные вы можете уже засунуть куда угодно. Сверив середину >со словом test. Понятное дело, просто никак не могу запомнить что означают эти символы в / . . . /
- Помогите разделить строку в перле, PoizOn, 10:05 , 11-Фев-05 (5)
> >Понятное дело, просто никак не могу запомнить что означают эти символы в > / . . . / Все просто, каждая из переменных $1 и до бесконечности (да да - в отличии от джавы, где возможно только от 1 до 9), автоматически получает в качестве значения часть строки, которая совпала с шаблоном заключенным в скобки. То есть, обратите внимание на мой пример, в нем 3 пары круглых скобок с шаблонами внутри, и переменных $1,$2,$3 - тоже три, если бы у нас было 4 паря скобок, то можно было бы использовать $4, и так даллее.
|