On Mon, 25 Apr 2011 16:45:54 +0300, Alex Emergy wrote:
Ещё вопрос. Вот кукок кода который с горем пополам как-то получился:
sub ip_sub_menu {
my $ips = $_[0];
my @menu;
foreach my $ip (@$ips) {
my $hash;
$hash->{'name'} = $ip;
$hash->{'ip'} = $ip;
push(@menu, $hash);
}
print Dumper(@menu);
}
На выходе я получаю:
$VAR1 = {
'ip' => '192.168.11.5',
'name' => '192.168.11.5'
};
$VAR2 = {
'ip' => '192.168.70.240',
'name' => '192.168.70.240'
};
$VAR3 = {
'ip' => '212.248.72.98',
'name' => '212.248.72.98'
};
Что это? как я понимаю массив хэшей?
Если вам не нравится такой вывод Dumper,
попробуйте выводить
print Dumper \@menu;
или складывайте хеши, например, так
push @$menu, $hash;
print Dumper $menu;
Тогда что это?:
Должен получится
$VAR1 = [
{
'ip' => '192.168.3.3',
'name' => '192.168.3.3'
},
{
'ip' => '192.168.11.2',
'name' => '192.168.11.2'
},
{
'ip' => '192.168.11.3',
'name' => '192.168.11.3'
},
{
'ip' => '192.168.11.4',
'name' => '192.168.11.4'
}
];
Мне надо переписать код выше, чтобы он собрал данные в переменную в
таком виде.
25.04.2011 17:28, Aleksander Gorohovski пишет:
On Mon, 25 Apr 2011 14:08:32 +0300, Alex Emergy wrote:
sub ip_sub_menu {
foreach my $ip ($_[0]) {
print Dumper($ip) . "\n";
}
exit;
}
Вывод:
$VAR1 = [
'192.168.11.5',
'192.168.70.240',
'212.248.72.98'
];
sub ip_sub_menu {
foreach my $ip ($_[0][0]) {
print Dumper($ip) . "\n";
}
exit;
}
Вывод:
$VAR1 = '192.168.11.5';
Что и требовалось доказать.
У Вас @_ содержит один элемент -> на массив.
--
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru