Большое спасибо за помощь!

25.04.2011 18:36, Aleksander Gorohovski пишет:
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';

Что и требовалось доказать.

У Вас @_ содержит один элемент -> на массив.



--
С уважением,
Alex Emergy

--
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

Дати відповідь електронним листом