URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 5551
[ Назад ]

Исходное сообщение
"Perl"

Отправлено Sobolev Pavel , 24-Янв-01 16:06 
При попытке выполнения скрипта выходит ошибка 500. Apache настроен правильно. При изменении тестовых скриптов (которые с апачем шли) скрипты выполняются. Не могу понять в чем проблема. Догадка: апачь либо перл не понимает переноса строки. Скрипты писались под Win98. Просмотр конференций по этой проблеме никчему не привел.
Какие будут соображения?
Заранее всем ответившим СПАСИБО!!

Содержание

Сообщения в этом обсуждении
"RE: Perl"
Отправлено Сергей , 25-Янв-01 17:12 
Тут в принципе все просто. Символ переноса строки в Виндах - 13/10, а в *никсе, где, как я понимаю, ты запускаешь скрипты, - просто 10.
Хинт: пиши сразу под *никсом.
Хинт 2: используй такой вот маленький скриптик:

#! /usr/bin/perl
unless(@ARGV){die "Usage: delcr file ....\n";}
foreach $file(@ARGV)
{
  if(! -r $file || ! -w $file)
   {
    print "$file: access denied\n";
   }
  else
   {
    open F," <$file"|| die "Cannot open $file $!\n";
    binmode F || die "Cannot binmode $file $!\n";
    @D=<F>;
    seek F,0,0;
    foreach(@D)
     {
      s/\r//g;
      print F;
     }
    truncate F,tell(F);
    close F;
   }
  }

В качестве параметра в командной строке передаешь ему имя файла, и он все пакости 13/10 у него отрезает.


"RE: Perl"
Отправлено Serg , 25-Янв-01 20:07 
или просто
tr -d "\r" <inputfile.pl >outputfile.pl

>Тут в принципе все просто. Символ
>переноса строки в Виндах -
>13/10, а в *никсе, где,
>как я понимаю, ты запускаешь
>скрипты, - просто 10.
>Хинт: пиши сразу под *никсом.
>Хинт 2: используй такой вот маленький
>скриптик:
>
>#! /usr/bin/perl
>unless(@ARGV){die "Usage: delcr file ....\n";}
>foreach $file(@ARGV)
> {
>  if(! -r $file ||
>! -w $file)
>   {
>    print "$file:
>access denied\n";
>   }
>  else
>   {
>    open F,"
><$file"|| die "Cannot open $file
>$!\n";
>    binmode F
>|| die "Cannot binmode $file
>$!\n";
>    @D=<F>;
>    seek F,0,0;
>
>    foreach(@D)
>     {
>
>      
>s/\r//g;
>      
>print F;
>     }
>
>    truncate F,tell(F);
>
>    close F;
>
>   }
>  }
>
>В качестве параметра в командной строке
>передаешь ему имя файла, и
>он все пакости 13/10 у
>него отрезает.



"RE: Perl"
Отправлено Sobolev Pavel , 27-Янв-01 19:29 
Спасибо!!