• Publicidad

No me abren ficheros con OPEN

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

No me abren ficheros con OPEN

Notapor danimera » 2007-01-14 12:40 @570

Este código me funciona perfectamente en mi computador local. Utilizo IIS, pero cuando lo subo al servidor Linux, me ejecuta el script pero no me carga los datos en los campos que deseo. La función open es sencilla y lo que hace el módulo kreader me funciona a la perfección en mi PC.

Será que alguien me puede dar una indicación. Mis fichero que deseo abrir tienen permisos 755.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use CGI qw(:all);
use HTML::Template;
use kreader qw(makefile cfind swrite fwrite fedit);

print header;

if (param('do') eq "editar"){
   

%campss1 = ("id","1","tipo","sencilla","valor",param('sencilla_es'));
%campss2 = ("id","2","tipo","doble","valor",param('doble_es'));
%campss3 = ("id","3","tipo","triple","valor",param('triple_es'));
%campss4 = ("id","4","tipo","cuadruple","valor",param('cuadruple_es'));

%campss5 = ("id","1","tipo","sencilla","valor",param('sencilla_su'));
%campss6 = ("id","2","tipo","doble","valor",param('doble_su'));
%campss7 = ("id","3","tipo","triple","valor",param('triple_su'));
%campss8 = ("id","4","tipo","cuadruple","valor",param('cuadruple_su'));
%campss9 = ("id","5","tipo","junior_su","valor",param('junior_su'));
%campss10 = ("id","6","tipo","suitcarolina_su","valor",param('suitcarolina_su'));

   
$ok = fedit("tarifas_es.txt",%campss1);
$ok = fedit("tarifas_es.txt",%campss2);
$ok = fedit("tarifas_es.txt",%campss3);
$ok = fedit("tarifas_es.txt",%campss4);

$ok = fedit("tarifas_su.txt",%campss5);
$ok = fedit("tarifas_su.txt",%campss6);
$ok = fedit("tarifas_su.txt",%campss7);
$ok = fedit("tarifas_su.txt",%campss8);
$ok = fedit("tarifas_su.txt",%campss9);
$ok = fedit("tarifas_su.txt",%campss10);

print "<center>REGISTROS ACTUALIZADOS</center>";


};

%tabla1 = cfind("tarifas_es.txt",'0','1');
%tabla2 = cfind("tarifas_es.txt",'0','2');
%tabla3 = cfind("tarifas_es.txt",'0','3');
%tabla4 = cfind("tarifas_es.txt",'0','4');

%tabla5 = cfind("tarifas_su.txt",'0','1');
%tabla6 = cfind("tarifas_su.txt",'0','2');
%tabla7 = cfind("tarifas_su.txt",'0','3');
%tabla8 = cfind("tarifas_su.txt",'0','4');
%tabla9 = cfind("tarifas_su.txt",'0','5');
%tabla10 = cfind("tarifas_su.txt",'0','6');


open (DATABASE, "tarifas.htm") || die "No se pudo abrir archivo";
   
while($linea = <DATABASE>){
        $linea =~ s/::sencilla_es::/$tabla1{'valor'}/;
        $linea =~ s/::doble_es::/$tabla2{'valor'}/;
        $linea =~ s/::triple_es::/$tabla3{'valor'}/;
        $linea =~ s/::cuadruple_es::/$tabla4{'valor'}/;
       
        $linea =~ s/::sencilla_su::/$tabla5{'valor'}/;
        $linea =~ s/::doble_su::/$tabla6{'valor'}/;
        $linea =~ s/::triple_su::/$tabla7{'valor'}/;
        $linea =~ s/::cuadruple_su::/$tabla8{'valor'}/;
        $linea =~ s/::junior_su::/$tabla9{'valor'}/;
        $linea =~ s/::suitcarolina_su::/$tabla10{'valor'}/;
        $dato2 = $dato2.$linea;
}
$salida = $dato2;
close (DATABASE);

print $salida;
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor explorer » 2007-01-14 13:48 @616

Cambia
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
die "No se pudo abrir archivo";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
die "No se pudo abrir archivo: $!";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
y sabremos el error que da...

Si quieres ver el resultado del die en la página web, tendrás que usar
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use CGI::Carp qw(fatalsToBrowser);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
al principio.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor danimera » 2007-01-14 14:29 @645

Perfecto ahora, si, Pero sabes algo explorer, estuve analizando y AHORA ya me abre el fichero pero lo que no me reemplaza es la linea ej:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$linea =~ s/::sencilla_es::/$tabla1{'valor'}/;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


pude ver facilmente que %tabla esta con todos los datos, pero no me lo reemplaza en la $linea .... PERO ES QUE LOCALMENTE ME :? FUNCIONA BIEN y quiero reemplazar los campos value del formulario con los del hash
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor explorer » 2007-01-14 14:56 @664

Pues yo no veo fallos... la línea está bien...

Para estos casos de rellenar páginas html con datos, prefiero usar HTML::Template.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor danimera » 2007-01-14 15:23 @683

EXPLORER NO ME LO VAZ A CREER PERO MIRA CUANDO ESCRIBO ESTO ME FUNCIONA:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print %tabla1;

foreach $key (keys(%tabla1)) {
    print "$key = $tabla1{$key}<br>";
}
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

me muestra todo ,
Código: Seleccionar todo
pruebdatiposencillaid1valor 654 tipo = sencilla
id = 1
valor = 654


Pero si hago esto nop
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print $tabla1{'valor'};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

no me muestra ningun valor, Habra algun conflicto, que puede ser eso, LA VERDA NO TENGO IDEA
Es por eso que si ME HACE LA SUSTITUCION, pero no toma ningun valor ...
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor explorer » 2007-01-14 15:44 @697

Oye... ¿No será que las claves tienen un carácter "\r" detrás de ellas?

Suele ser un fallo común al pasar Windows <-> Linux.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor danimera » 2007-01-14 15:57 @706

TENIAS TODA LA RAZON ERA ESE CARACTER

ESE MALDITO CARACTER ESE ERA,,

GRACIAS GRACIAS PUDE SOLUCIONARLO MUCHAS GRACIASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron