Forum Webscript.Ru

Программирование => Perl => Тема начата: C++ от 02 Августа 2002, 10:48:33

Название: Преинтереснейший глюк!!!
Отправлено: C++ от 02 Августа 2002, 10:48:33
Привет.
Вот значит скриптик:

#!/usr/bin/perl
use CGI;
$q = new CGI;
print $q->header;
  open(X,">1.log");
binmode(X);
print X pack("S S S S S S S S S S S S S S S S",555,0,4,5,0,0,46,0,0,34346,0,0,346,0,0,555);
read(X,$a,124);
@a1=unpack("S S S S S S S S S S S S S S S S",$a);
for($i=0;$i<@a1;$i++)
{print $a1[$i]."
";}

по идее он должен записать в файл 16 чисел, размером по 2 байта, а пишет:
+        .     *†    Z    +t;
  }
}

sub remove_constant {
  # Arguments: what, sub
  while (@_) {
    delete $^H{$_[0]};
    $^H &= ~ $constan

причем, вся эта конструкция работала, а теперь вот такая пакость.
С чем это может быть связано, и как этого избежать в дальнейшем???
Спасибо
Название: Преинтереснейший глюк!!!
Отправлено: C++ от 02 Августа 2002, 10:52:28
Сори, одна строчка не верна:
read(X,$a,124);
а надо
read(X,$a,64);
работает, что так, что так - одинаково
Название: Преинтереснейший глюк!!!
Отправлено: ESE от 03 Августа 2002, 01:33:45
Файл нужно открыть на запись и чтение одновременно
и позиционировать перед чтением