Автор Тема: Как обработать функцией массив?  (Прочитано 3120 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mikhail1111

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
вообщем попытался так, выдает ошибку.
Подскажите пожалуйста как исправить.

#!/usr/bin/perl -w
use Socket;
open (DIR, "host.txt");
@host=;
close (DIR);
foreach $h(@host)
{$h=gethostbyname($h);
 print $h;}

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Как обработать функцией массив?
« Ответ #1 : 25 Июня 2006, 20:05:17 »
mikhail1111
а что ты вообще хочешь сделать? поподробнее задачу опиши...
And no religion too...

Оффлайн xames

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как обработать функцией массив?
« Ответ #2 : 25 Июня 2006, 20:21:23 »
chomp(@host=);
может это избавит от ошибки...

Оффлайн mikhail1111

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как обработать функцией массив?
« Ответ #3 : 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"; };

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28