The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"PLEASE  HELP! Use of uninitialized value in string at"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от squidward email(ok) on 01-Ноя-10, 10:35 
есть скрипт который работал на red hat нормально а на Freebsd вместо результата выдает ошибки, в чем моя ошибка?

#!/usr/bin/perl
open(FILE1, "/home/user/ip-email");
while (<FILE1>) {chop; split();
$ip1="$_[0]";
$ma="$_[1]";
$des="$_[2]";
open(FILE2, "/home/user/output");
while (<FILE2>) {chop; split('-');
$ip2="$_[0]";
$tr="$_[1]";
foreach ($ip1) {
if ($ma ne "") {
foreach ($ip1) {
if ($ip1 eq $ip2) {
print " $ip1, $ma, $des, $ip2, $tr, /n ";
}}}}}}

отрывки от файла ip-email и output

192.168.0.1 somemail@mail.ru Description1
192.168.0.2 other@mail.ru Description2
192.168.0.3
192.168.0.4 mail_3@mail.ru Description3
192.168.0.5
192.168.0.6

192.168.0.1    - 233    + 16    = 249
192.168.0.2    - 401    + 45    = 446
192.168.0.3    - 26509    + 8278    = 34787
192.168.0.4    - 802    + 9172    = 9974
192.168.0.5    - 4868    + 1665    = 6533
192.168.0.6    - 3    + 0    = 3
192.168.0.7    - 214    + 3331    = 3545
192.168.0.8    - 408    + 3599    = 4007
192.168.0.9    - 5034    + 955    = 5989

на экране должен был быть вот что

192.168.0.1 somemail@mail.ru Description1 192.168.0.1    - 233    + 16    = 249
192.168.0.2 other@mail.ru Description2  192.168.0.2    - 401    + 45    = 446
192.168.0.4 mail_3@mail.ru Description3  192.168.0.4    - 802    + 9172    = 9974

Результат вот какой

Use of implicit split to @_ is deprecated at ./send line 8.
Use of implicit split to @_ is deprecated at ./send line 3.
Use of uninitialized value in string at ./send line 9, <FILE2> line 1.
Use of uninitialized value in string at ./send line 10, <FILE2> line 1.
Use of uninitialized value in string at ./send line 9, <FILE2> line 2.
Use of uninitialized value in string at ./send line 10, <FILE2> line 2.
Use of uninitialized value in string at ./send line 9, <FILE2> line 3.
Use of uninitialized value in string at ./send line 10, <FILE2> line 3.
Use of uninitialized value in string at ./send line 9, <FILE2> line 5.
Use of uninitialized value in string at ./send line 10, <FILE2> line 5.
Use of uninitialized value in string at ./send line 9, <FILE2> line 6.
Use of uninitialized value in string at ./send line 10, <FILE2> line 6.
Use of uninitialized value in string at ./send line 9, <FILE2> line 7.
Use of uninitialized value in string at ./send line 10, <FILE2> line 7.
Use of uninitialized value in string at ./send line 9, <FILE2> line 9.
Use of uninitialized value in string at ./send line 10, <FILE2> line 9.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от Pahanivo (ok) on 01-Ноя-10, 13:02 
в скрипте какая-то жесть с циклами

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от squidward email(ok) on 01-Ноя-10, 15:48 
> в скрипте какая-то жесть с циклами

а есть какие- то предложения? как исправить?  

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от Pahanivo (ok) on 01-Ноя-10, 15:51 
>> в скрипте какая-то жесть с циклами
> а есть какие- то предложения? как исправить?

1) сформулировать задачу
2) переписать скрипт - думаю хешами тут можно уложить с пять строк и пуру циклов

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от squidward email(ok) on 01-Ноя-10, 16:30 
>>> в скрипте какая-то жесть с циклами
>> а есть какие- то предложения? как исправить?
> 1) сформулировать задачу
> 2) переписать скрипт - думаю хешами тут можно уложить с пять строк
> и пуру циклов

задача такая  
есть 2 списка, в первом  ip, адрес электронной почты и описание , во втором IP и трафик.
программа должна работать так - проверить если написан электронный  адрес в первом списке(есть такие записи где только ip), найти из 2-го соответствующий трафик и выводить на экран  

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от erera22 on 01-Ноя-10, 16:54 
Какие-то цикли по простой переменной, ниче не понял. Попробуй так:

#!/usr/bin/perl -w
use strict;

my %hash = ();
my ($fpath, $ipemail, $output) = ('/home/user', 'ip-email', 'output');
my ($ipaddr, $mail, $desc);

open (IPEMAIL, "< $fpath/$ipemail") or die "Could not open $fpath/$ipemail\n";
while (<IPEMAIL>) {
   ($ipaddr, $mail, $desc) = split (/\s+/, $_);
   if (length $mail > 0) {
      $hash{ $ipaddr }{ mail } = $mail;
      $hash{ $ipaddr }{ desc } = $desc;
   }
}

open (OUT, "< $fpath/$output");
while (<OUT>) {
   my ($ipaddr, $data) = split (/\s+-\s+/, $_);
   chomp ($data);
   print "$ipaddr $hash{ $ipaddr }{ mail } $hash{ $ipaddr }{ desc } $ipaddr - $data\n" if exists $hash{ $ipaddr };
}

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "PLEASE  HELP! Use of uninitialized value in string at"  +/
Сообщение от squidward email(ok) on 02-Ноя-10, 08:45 
Огромное спасибо erera22, вроде работает :)


>[оверквотинг удален]
> $desc;
>    }
> }
> open (OUT, "< $fpath/$output");
> while (<OUT>) {
>    my ($ipaddr, $data) = split (/\s+-\s+/, $_);
>    chomp ($data);
>    print "$ipaddr $hash{ $ipaddr }{ mail } $hash{ $ipaddr
> }{ desc } $ipaddr - $data\n" if exists $hash{ $ipaddr };
> }

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру