Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
substr(<$a>, 0, -1); #perl
 
господа, вот у меня на компе работает нормально, а на серваке приходится делать "на ходу"...

пример:
Код
sub load_file
{
  if (open $a, $_[0])
  {
&nbsp;&nbsp;&nbsp;&nbsp;@file= 0;
&nbsp;&nbsp;&nbsp;&nbsp;$b= 0;
&nbsp;&nbsp;&nbsp;&nbsp;while(not eof($a))
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@file[$b]= substr(<$a>, 0, -1); #here
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$b++;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;close $a;
  } else
  {
&nbsp;&nbsp;&nbsp;&nbsp;print join("", "cannot load file ", $_[0]);
  }
}


это чтобы считывать параметры из файла, записанные построчно.
когда скрипт выполняется на моём компе - всё ок, а если запустить его на серваке, то приходится в месте, где используется какаянть строка из @file писать substr(@file[$smth], 0, -1), тк всё равно последний символ - chr(10)...

зы: на серваке пёрл намба пять, у меня один из последних, если это чтонть значит для substr()
 
нашёл я решение...
просто ещё один substr поставил...
чтобы и на компе, и на серваке выполнялось, сделал так:
Код
sub load_file
{
  @file= 0;
  $a= 0;
  if (open $d, join("", $root, $_[0]))
  {
&nbsp;&nbsp;&nbsp;&nbsp;while (not eof($d))
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@file[$a]= substr(<$d>, 0, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($ENV{'DOCUMENT_ROOT'} ne "")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @file[$a]= substr(@file[$a], 0, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a++;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;close $d;
  } else
  {
&nbsp;&nbsp;&nbsp;&nbsp;print join("", "cannot load file \"", $root, $_[0], "\"");
&nbsp;&nbsp;&nbsp;&nbsp;print "<BR>please contact to webmaster";
  }
}


всем спасибо за помосЧь
Страницы: 1
Читают тему