The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите разделить строку в перле"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите разделить строку в перле" 
Сообщение от alexeylomov Искать по авторуВ закладки(ok) on 07-Фев-05, 15:35  (MSK)
есть список файлов  <имя>.<середина>.<окончание>
допустим он хранится в @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, <?чего-то_там?>
    }
  }
.....
Подскажите, пожалуйста, что там вписать?
Или предложите другой способ.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите разделить строку в перле" 
Сообщение от sly Искать по авторуВ закладки(??) on 07-Фев-05, 16:09  (MSK)
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, <?чего-то_там?>
>    }
>  }
>.....
>Подскажите, пожалуйста, что там вписать?
>Или предложите другой способ.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите разделить строку в перле" 
Сообщение от alexeylomov Искать по авторуВ закладки(ok) on 07-Фев-05, 16:18  (MSK)
>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, <?чего-то_там?>
>>    }
>>  }
>>.....
>>Подскажите, пожалуйста, что там вписать?
>>Или предложите другой способ.

Спасибо.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите разделить строку в перле" 
Сообщение от PoizOn Искать по авторуВ закладки on 10-Фев-05, 16:57  (MSK)
НУ на примере объясню. файл например имеет имя good.test.txt, загоняем все файлы в массив через opendir, readdir, затем по массиву организуем поиск, например такой:

$string="good.test.txt";# для примера в твоем случае это будет один из элементов массива

$string=~/(\w+)\.(\w+)\.(\w+)/;

print "Начало: $1\nСередина: $2\nКонец: $3\n";

ну а эти данные вы можете уже засунуть куда угодно. Сверив середину со словом test.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите разделить строку в перле" 
Сообщение от alexeylomov Искать по авторуВ закладки(ok) on 10-Фев-05, 17:26  (MSK)
>НУ на примере объясню. файл например имеет имя good.test.txt, загоняем все файлы
>в массив через opendir, readdir, затем по массиву организуем поиск, например
>такой:
>
>$string="good.test.txt";# для примера в твоем случае это будет один из элементов массива
>
>
>$string=~/(\w+)\.(\w+)\.(\w+)/;
>
>print "Начало: $1\nСередина: $2\nКонец: $3\n";
>
>ну а эти данные вы можете уже засунуть куда угодно. Сверив середину
>со словом test.

Понятное дело, просто никак не могу запомнить что означают эти символы в  /  . . .  /

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Помогите разделить строку в перле" 
Сообщение от PoizOn Искать по авторуВ закладки on 11-Фев-05, 10:05  (MSK)
>
>Понятное дело, просто никак не могу запомнить что означают эти символы в
> /  . . .  /

Все просто, каждая из переменных $1 и до бесконечности (да да - в отличии от джавы, где возможно только от 1 до 9), автоматически получает в качестве значения часть строки, которая совпала с шаблоном заключенным в скобки.
То есть, обратите внимание на мой пример, в нем 3 пары круглых скобок с шаблонами внутри, и переменных $1,$2,$3 - тоже три, если бы у нас было 4 паря скобок, то можно было бы использовать $4, и так даллее.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру