Помогите пожалуйста с perl

Alex Emergy alex.emergy на gmail.com
Пн Апр 25 11:08:32 UTC 2011


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



25.04.2011 15:03, Aleksander Gorohovski пишет:
> On Mon, 25 Apr 2011 13:57:00 +0300, Alex Emergy wrote:
>
>> Знаю что тут есть знатоки перла.
>>
>> Функция:
>>
>> sub ip_sub_menu {
>> print Dumper(@_);
>> exit;
>> }
>>
>> Вывод:
>>
>> $VAR1 = [
>> '192.168.11.5',
>> '192.168.70.240',
>> '212.248.72.98'
>> ];
>>
>> ОК! Немного изменим:
>> sub ip_sub_menu {
>> foreach my $ip (@_) {
>> print Dumper($ip) . "\n";
>> exit;
>> }
>> }
>>
>> Вывод:
>>
>> $VAR1 = [
>> '192.168.11.5',
>> '192.168.70.240',
>> '212.248.72.98'
>> ];
>>
>>
>> О_о почему? оно же должно выдать только один элемент массива:
>
> ОДин элемент и выдает.
> У Вас @_ содержит одни элемент -> на массив.
>

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



Подробная информация о списке рассылки ubuntu-ru