Article View: es.comp.os.linux.programacion
Article #9379Re: perl: warning: Setting locale failed.
From: Reinoso G.
Date: Mon, 22 Jul 2002 18:13
Date: Mon, 22 Jul 2002 18:13
78 lines
4081 bytes
4081 bytes
El otro d�a, Miguel Rodriguez nos estuvo contando:
> Tengo problemas con la ejecuci�n de perl.
>
> Cuando ejecuto el c�digo en la m�quina local:
>
> $mivar = <STDIN>;
> chomp($mivar);
> print "mivar es: $mivar y demas\n";
�si cambias chomp por chop tambi�n te pasa? Es por curiosidad pero podr�a
tener que ver.
>
> se ejecuta correctamente, pero cuando lo ejecuto desde otro equipo:
> telnet server 43
> (donde est� escuchando en ese puerto con el programa fich.pl), entonces
> me dice:
>
>
> Escape character is '^]'.
> perl: warning: Setting locale failed.
> perl: warning: Please check that your locale settings:
> LANGUAGE = (unset),
> LC_ALL = "en_US",
> LC_MESSAGES = "en_US",
> LC_TIME = "en_US",
> LC_NUMERIC = "en_US",
> LC_MONETARY = "en_US",
> LC_COLLATE = "en_US",
> LANG = "en_US"
> are supported and installed on your system.
> perl: warning: Falling back to the standard locale ("C").
> misdatos
Ese servidor no tiene configurados los locales, a mi me daba un error
parecido cuando instal� debian hasta que hice un locale-gen.
>
> "mivar es: misdatos"
> y seguidamente sobreescribe:
> "y demas"
> quedando como resultado la l�nea:
>
> "y demass: misdatos"
Eso casi podr�a ser problema del cliente telnet, pero no. Parece que al
final de la l�nea hay un salto tipo windows: \r\n. El chomp elimina el
�ltimo car�cter s� y s�lo s� es un '\n'. Lo es. As� que te deja la cadena
acabada en un retorno de linea. Por eso al escribir lo siguente lo escribe
encima.
Si quieres evitar eso podr�as o bien aplicar dos veces chop, o bien
reasignar $/ a un car�cter \r. Y volver a llamar a la funci�n. Tras esto
reasignarlo de nuevo a \n.
>
> �porqu�?
> �tiene que ver con el mensaje de aviso de error que muestra al
> principio? �donde puedo definir esas variables en perl?
Podr�a tener que ver porque $/ est� definido en el m�dulo ingl�s, parte
del manual de perl dice as�:
chomp This safer version of "chop" removes any trailing
string that corresponds to the current value of $/
(also known as $INPUT_RECORD_SEPARATOR in the
"English" module). It returns the total number of
...
Saludos.
--
�������������������������������������������������������������������������
�� Reinoso G. EA4BAO / MiKatp r einoso.bao@wanadoo.e s ��
�� http://perso.wanadoo.es/reinoso.bao ��
�������������������������������������������������������������������������
Technical Details
Message-ID:
<slrnajoipn.1j7.reinoso@EA4BAO.PLLANO.ESP.EU>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!127.0.0.1!nobodyReferences:
<3D3BABF3.2090509@yahoo.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,8cf3574cd05971c9 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-07-22 11:21:52 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!127.0.0.1!nobody From: "Reinoso G." <reinoso@probando.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: perl: warning: Setting locale failed. Date: Mon, 22 Jul 2002 20:13:11 +0200 Organization: Wanadoo Lines: 78 Message-ID: <slrnajoipn.1j7.reinoso@EA4BAO.PLLANO.ESP.EU> References: <3D3BABF3.2090509@yahoo.com> Reply-To: rei noso.bao@wanadoo.e s NNTP-Posting-Host: 62-36-151-42.dialup.uni2.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: news.wanadoo.es 1027361324 6681 62.36.151.42 (22 Jul 2002 18:08:44 GMT) X-Complaints-To: usenet@wanadoo.es NNTP-Posting-Date: Mon, 22 Jul 2002 18:08:44 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux)