Forum Webscript.Ru

Программирование => Perl => Тема начата: mikhail1111 от 25 Июня 2006, 13:55:55

Название: Как обработать функцией массив?
Отправлено: mikhail1111 от 25 Июня 2006, 13:55:55
вообщем попытался так, выдает ошибку.
Подскажите пожалуйста как исправить.

#!/usr/bin/perl -w
use Socket;
open (DIR, "host.txt");
@host=;
close (DIR);
foreach $h(@host)
{$h=gethostbyname($h);
 print $h;}
Название: Как обработать функцией массив?
Отправлено: commander от 25 Июня 2006, 20:05:17
mikhail1111
а что ты вообще хочешь сделать? поподробнее задачу опиши...
Название: Как обработать функцией массив?
Отправлено: xames от 25 Июня 2006, 20:21:23
chomp(@host=);
может это избавит от ошибки...
Название: Как обработать функцией массив?
Отправлено: mikhail1111 от 25 Июня 2006, 21:34:07
Нужно преобразовывать большое количество hostname в ip.
Проблема действительно в неправильном формате данных, более менее удалось решить так:
use Socket;
@host=qw(host1
host2
host3);
for $name(@host)
{eval{$address = inet_ntoa(inet_aton($name)); } ;
print $address, "\\n"; };