Ещё вопрос. Вот кукок кода который с горем пополам как-то получился:

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'
        };

Что это? как я понимаю массив хэшей?

Тогда что это?:

$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

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