The OpenNET Project / Index page

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

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

"Внести данные из файла в хэш на perl"
Сообщение от Jetari Искать по авторуВ закладки(ok) on 01-Апр-04, 14:44  (MSK)
Есть файл динамически обновляемый например "file"
в виде:
xxxx
yyyy
zzzz
hhhh
bbbb
ffff
необходимо внести эти данные в хэш в виде - первая строка ключ, вторая значение ключа, третья ключ и тд
%rt=(xxxx,yyyy,
     zzzz,hhhh,
     bbbb,ffff);

я пробовал %rt=`cat file`
не работает
выводит
%rt=xxxx: not found
как можно еще сделать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Внести данные из файла в хэш на perl"
Сообщение от alchie Искать по авторуВ закладки(ok) on 01-Апр-04, 16:16  (MSK)
>Есть файл динамически обновляемый например "file"
>в виде:
>xxxx
>yyyy
>zzzz
>hhhh
>bbbb
>ffff
>необходимо внести эти данные в хэш в виде - первая строка ключ,
>вторая значение ключа, третья ключ и тд
>%rt=(xxxx,yyyy,
>     zzzz,hhhh,
>     bbbb,ffff);
>
>я пробовал %rt=`cat file`
>не работает
>выводит
>%rt=xxxx: not found
>как можно еще сделать?

%rt= map { chomp; $_ } `cat file.txt`
только что попробовал, получается

$ cat t
12
qw
34
as
45
fg
gh
67
89
gh
78
df


$ perl -e '%rt= map { chomp; $_ } `cat t`; map { print "$_ => $rt{$_}; " } sort keys %rt;'

12 => qw; 34 => as; 45 => fg; 78 => df; 89 => gh; gh => 67;

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Внести данные из файла в хэш на perl"
Сообщение от Jetari Искать по авторуВ закладки(ok) on 01-Апр-04, 16:52  (MSK)
>$ perl -e '%rt= map { chomp; $_ } `cat t`; map { print "$_ => $rt{$_}; " } sort keys %rt;'
>
>12 => qw; 34 => as; 45 => fg; 78 => df; 89 => gh; gh => 67;


Спасибо получилось

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Внести данные из файла в хэш на perl"
Сообщение от vt Искать по авторуВ закладки(??) on 02-Апр-04, 13:24  (MSK)
>Есть файл динамически обновляемый например "file"
>в виде:
>xxxx
>yyyy
>zzzz
>hhhh
>bbbb
>ffff
>необходимо внести эти данные в хэш в виде - первая строка ключ,
>вторая значение ключа, третья ключ и тд
>%rt=(xxxx,yyyy,
>     zzzz,hhhh,
>     bbbb,ffff);
>
>я пробовал %rt=`cat file`
>не работает
>выводит
>%rt=xxxx: not found
>как можно еще сделать?

На самом деле это работает, только и key и value будут с \n в конце

Проблему решает, в данном случае:
%h=split /\n/,`grep . file`

В общем случае:
regexp в grep определяет какие строки содержат данные
regexp в split определяет разделитель(разделители) данных

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




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

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