|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Evgenia Firsova 2:5020/400 27 Jun 2001 12:15:13 To : All Subject : проблема с хэшем? --------------------------------------------------------------------------------
Здравствуйте.
помогите, пожалуйста, разобраться со следующей проблемой.
пишу:
data_hash($file_name); # открываем файл
data_add($file_name,'лллл',113);
# функция открывает файл и читает данные в хэш
# входные параметры: имя файла
sub data_hash()
{
open(KAT_FILE,"< $_[0]");
while (<KAT_FILE>)
{
chomp;
($num,$txt,$price)=split(/:/,$_);
$data{$num}=$txt.":".$price;
}
close(KAT_FILE);
return %data;
}
# функция добавления записи в файл
# входные параметры: имя файла, строка описания, строка цены
sub data_add()
{
data_hash($_[0]);
$data{1+scalar keys %data}=$_[1].":".$_[2];
$i=1;
foreach $num (sort {$data{$a} cmp $data{$b}} keys %data)
{ $new_data{$i}=$data{$num}; $i++; }
%data=%new_data;
open(KAT_FILE,"> $_[0]");
foreach $num (keys %data)
{ print KAT_FILE $num.":".$data{$num}."\n"; }
close(KAT_FILE);
return %data;
}
в логах сервера появляется следующая запись:
Too many arguments for main::data_hash at step1to2.pl line 69, near "])"
line 69 - это строка data_hash($_[0]); в процедуре data_add()
подскажите, в чём ошибка?
заранее огромное спасибо за помощь
Евгения
--- ifmail v.2.15dev5
* Origin: Peterlink News System (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/207539908407f.html, оценка из 5, голосов 10
|