Есть файл динамически обновляемый например "file"
в виде:
xxxx
yyyy
zzzz
hhhh
bbbb
ffff
необходимо внести эти данные в хэш в виде - первая строка ключ, вторая значение ключа, третья ключ и тд
%rt=(xxxx,yyyy,
zzzz,hhhh,
bbbb,ffff);я пробовал %rt=`cat file`
не работает
выводит
%rt=xxxx: not found
как можно еще сделать?
>Есть файл динамически обновляемый например "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;
>$ 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;
Спасибо получилось
>Есть файл динамически обновляемый например "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 определяет разделитель(разделители) данных