Forum Webscript.Ru
Программирование => Perl => Тема начата: Yuraz от 14 Мая 2002, 11:50:28
-
Встретился с такой проблемой, нужно в @data ввести значения как в нижнем блоке, в нижнем болке в @data данные введены как постоянные, а надо что бы они считывались из файла..., считывается, разбивается, а в массив ввести не могу, что делаю не так?
*****************************************
# это пытаюсь вбить значения сам, не получается
open (T, "$txt");
@line=;
close (T);
for($i=0;$i<@line;$i++)
{
($d,$t)=split("::",$line[$i]);
$data{$d} = $t; #не правильно здесь
}
****************************************
# это как постоянно вбитые значения, работает нормально
@data = (
["Yhjlh", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
[ 6203, 3500, 3973, 2859, 3012, 3423, 1230]
);
****************************************
-
for($i=0;$i<@line;$i++)
Тогда уж так: for (my $i=0;$i<=$#line;$i++)
А вообще вопрос не очень понятен. В каком формате данные в файле и какой хэш надо получить?
-
*****************************************
# это пытаюсь вбить значения сам, не получается
open (T, "$txt");
@line=;
close (T);
for($i=0;$i<@line;$i++)
{
($d,$t)=split("::",$line[$i]);
$data{$d} = $t; #не правильно здесь
}
****************************************
# это как постоянно вбитые значения, работает нормально
@data = (
["Yhjlh", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
[ 6203, 3500, 3973, 2859, 3012, 3423, 1230]
);
****************************************
В первом случае создается явно хеш, во втором массив ссылок на массивы.
Разница, думаю есть.:)
Кстати chomp в первом случае неплохо бы добавить после считывания данных из файла.
-
В первом случае создается явно хеш, во втором массив ссылок на массивы.
А как создать массив ссылок на масивы?
Вот кусок файла который я считываю: название::количество
Mon::3
Tue::5
Wed::1
его и надо вписать в @data
:(
-
А как создать массив ссылок на масивы?
Для данной задачи лучше хэш, логичнее по крайней мере. :)
Ну если очень надо, то
(часть после split)
push @{$data[0]},$d;
push @{$data[1]},$t;
-
Отвечаю с задержкой, инет не работал.
Chs , то что надо, спасибо!