|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Oleg Plotnikov 2:5011/111 21 Apr 2002 21:59:10 To : All Subject : Hе догоняю я чо-то, вроде ж всё правильно... -------------------------------------------------------------------------------- Ребят, вот тут писал значит писал скрипт, сделал подфункцию такую, для редактирования текстового файла с резульатами теста: 100||||Тест по алгебре за 11 класс|Воскресенье, Апрель 21, 2002 время 20:53 80||||Тест по алгебре за 11 класс|Среда, Апрель 25, 2002 время 13:33 ^^ Это кол-во набранных баллоы Там где идёт подряд |||| между прямыми этими слэщами записываются ещё параметры: имя, фамилия и т.д. это неважно... это я так чтобы более ясно было. Очень прошу помочь, т.к. я всё уже по три раза переписывал, что-то не выходит редактировать файлик :( Ошибку вроде не выдаёт, всё ок компилится мои 200 кило скрипта дай бог... HО почему-то изменения в файл не вносятся при вызове данной функции, посмотрите плиз, может я просто что-то не замечаю да и глупую ошибку не вижу... если что ткните пальцем где я не прав, итак вот эта подфункция: sub edit_results { $quiz = $data{'Quiz'}; $oldline = $data{'Old'}; $fa2 = $data{'FA2'}; if($fa2 ne "Edit Now"){ print "$header <center><font face=\"Tahoma\" size=2><strong>Редактирование результатов тестов</strong></font></center> <br> <center> <font face=\"Tahoma\" size=2> Выберите поле для редактирования, внесите в него необходимые изменения и нажмите \"Редактировать результаты\" </font> $admformtop <table border=1 cellpadding=0 cellspacing=0 bordercolor=\"#000000\"> <tr><th><font face=\"Tahoma\" size=2>Hабранный балл</font></th><th><font face=\"Tahoma\" size=2>Имя тестируемого</font></th><th><font face=\"Tahoma\" size=2>Пароль</font></th><th><font face=\"Tahoma\" size=2>Личный size=2>код/E-mail</font></th> <th><font face=\"Tahoma\" size=2>Hазвание теста</font></th><th><font face=\"Tahoma\" size=2>Дата тестирования</font></th> </tr><tr> "; foreach $old (split(/\|/, $oldline)){ $i++; $len = length($old) + 1; if($len > 25){ $len = 25;} print "<td align=center><input type=text name=$i size=$len value=\"$old\"></td>"; } print "</tr></table><br> <input type=hidden name=Quiz value=\"$data{'Quiz'}\"> <input type=hidden name=Old value=\"$data{'Old'}\"> <input type=hidden name=FA2 value=\"Edit Now\"> <input type=submit name=FA value=\"Редактировать результаты\"> </form> $footer </center>"; exit(); } # end if $quiz =~ s/\W+//g; $quiz =~ tr/[A-Z]/[a-z]/; $quizfile = "$basedir/$quiz/results.data"; $newline = "$data{'1'}|$data{'2'}|$data{'3'}|$data{'4'}|"; $newline .= "$data{'5'}|$data{'6'}|$data{'7'}\n"; open(FILE, "+<$quizfile") || &debug("Hе могу открыть $quizfile для чтения/записи: $!"); if($opsys eq "unix"){ flock(FILE, 2); } else { binmode(FILE); } @lines = <FILE>; foreach $line (@lines){ if($line ne $oldline){ $newfile .= $line; } else { $newfile .= "$newline"; } } truncate(FILE, length($newfile)); seek(FILE,0,0); print FILE $newfile; close(FILE); $data{'FA2'} = "View"; &view_results; } ю Усё, ухожу! Счастливо! 21 Апр 02 21:59 --- Contact e-mail: bpilots@ufacom.ru * Origin: Linux-Mandrake RE User (IPLabs) (2:5011/111) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/133213cc2e4fa.html, оценка из 5, голосов 10
|