Есть ли в Perl что то подобное структурам в С ?
Нужно хранить данные из конфигурации, пример:
HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
В С я бы создал для каждой строки структуру, состаящей из 3 переменных,
а как это делают в Perl?
Если помещать все в массив, то это же не красиво и не удобно?Спасибо за совет.
>Есть ли в Perl что то подобное структурам в С ?
>Нужно хранить данные из конфигурации, пример:
>HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
>HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
>В С я бы создал для каждой строки структуру, состаящей из 3
>переменных,
>а как это делают в Perl?
>Если помещать все в массив, то это же не красиво и не
>удобно?
>
>Спасибо за совет.%hash = (HOST=>"mars", IP=>"1.1.1.1", NETMASK=>"1.1.1.1");
print $hash{'HOST'}; #даст "mars"
>>Есть ли в Perl что то подобное структурам в С ?
>>Нужно хранить данные из конфигурации, пример:
>>HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
>>HOST=mars,IP=1.1.1.1,NETMASK=1.1.1.1
>>В С я бы создал для каждой строки структуру, состаящей из 3
>>переменных,
>>а как это делают в Perl?
>>Если помещать все в массив, то это же не красиво и не
>>удобно?
>>
>>Спасибо за совет.
>
>%hash = (HOST=>"mars", IP=>"1.1.1.1", NETMASK=>"1.1.1.1");
>
>print $hash{'HOST'}; #даст "mars"Бааальшое спасибо :-)
Все получилось!
>%hash = (HOST=>"mars", IP=>"1.1.1.1", NETMASK=>"1.1.1.1");
>
>print $hash{'HOST'}; #даст "mars"
И чуть посложнее:my (%host, $h, $cfg);
push $host{'mars'}, {IP=>"1.1.1.1", NETMASK=>"1.1.1.1"};
push $host{'mars'}, {IP=>"1.1.1.2", NETMASK=>"1.1.1.2"};foreach $h (keys %host) {
print "$h\n";foreach $cfg (@{ $host{$h} }) {
print "\t$$cfg{IP}\t$$cfg{NETMASK}\n";
}
}
man perldsc