Using perl Syntax Highlighting
sub OpcionD{
my ($hora, $fichero, $directorio) = ($_[0], $_[1],$_[2]);
opendir (DIR, $directorio) or die "Error: no puedo abrir directorio de planificacion $directorio\n";
my @contenido_directorio = readdir (DIR);
closedir (DIR);
if (-s $fichero ){
my @contenido_fichero = <FICHERO>; # problema
open (FICHERO, "+<fichero");
#Obtener la ultima id
foreach $linea (@contenidofichero){
@campos = split / /, $linea;
$id = $campos[0];
}
$numero_lineas = @contenidofichero;
$encontrado = 0;
foreach my $fichero_directorio (@contenido_directorio){
my $direccion_absoluta = $directorio ."/". $fichero_directorio;
foreach my $linea (@contenido_fichero){
@campos = split / /, $linea;
my $orden = chomp($campos[-1]);
$id = $campos[1];
if($direccion_absoluta ne $orden){
if(-r $direccion_absoluta && -x $direccion_absoluta && !(-d $direccion_absoluta)){
$encontrado++;
if ($encontrado == $numero_lineas){
$id ++;
my $min = 0;
my $dia = "*";
my $mes = "*";
my $dia_semana = "*";
print FICHERO "$id $min $hora $dia $mes $dia_semana $direccion_absoluta\n";
}
}
}
}
} }
else{
open (FICHERO, ">$fichero");
foreach my $fichero_directorio (@contenido_directorio){
my $direccion_absoluta = $directorio ."/". $fichero_directorio;
if(-r $direccion_absoluta && -x $direccion_absoluta && !(-d $direccion_absoluta)){
$id ++;
my $min = 0;
my $dia = "*";
my $mes = "*";
my $dia_semana = "*";
print FICHERO "$id $min $hora $dia $mes $dia_semana $direccion_absoluta \n";
}
}
}
close (FICHERO);
}
my ($hora, $fichero, $directorio) = ($_[0], $_[1],$_[2]);
opendir (DIR, $directorio) or die "Error: no puedo abrir directorio de planificacion $directorio\n";
my @contenido_directorio = readdir (DIR);
closedir (DIR);
if (-s $fichero ){
my @contenido_fichero = <FICHERO>; # problema
open (FICHERO, "+<fichero");
#Obtener la ultima id
foreach $linea (@contenidofichero){
@campos = split / /, $linea;
$id = $campos[0];
}
$numero_lineas = @contenidofichero;
$encontrado = 0;
foreach my $fichero_directorio (@contenido_directorio){
my $direccion_absoluta = $directorio ."/". $fichero_directorio;
foreach my $linea (@contenido_fichero){
@campos = split / /, $linea;
my $orden = chomp($campos[-1]);
$id = $campos[1];
if($direccion_absoluta ne $orden){
if(-r $direccion_absoluta && -x $direccion_absoluta && !(-d $direccion_absoluta)){
$encontrado++;
if ($encontrado == $numero_lineas){
$id ++;
my $min = 0;
my $dia = "*";
my $mes = "*";
my $dia_semana = "*";
print FICHERO "$id $min $hora $dia $mes $dia_semana $direccion_absoluta\n";
}
}
}
}
} }
else{
open (FICHERO, ">$fichero");
foreach my $fichero_directorio (@contenido_directorio){
my $direccion_absoluta = $directorio ."/". $fichero_directorio;
if(-r $direccion_absoluta && -x $direccion_absoluta && !(-d $direccion_absoluta)){
$id ++;
my $min = 0;
my $dia = "*";
my $mes = "*";
my $dia_semana = "*";
print FICHERO "$id $min $hora $dia $mes $dia_semana $direccion_absoluta \n";
}
}
}
close (FICHERO);
}
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Mi problema es que cuando ejecuto la función por primera vez no me da ningún problema, pero cuando la vuelvo a ejecutar me genera ese error:
- Código: Seleccionar todo
readline() on unopened filehandle FICHERO