• Publicidad

Copiar un fichero

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Copiar un fichero

Notapor aramallal » 2007-06-29 01:26 @101

Buenos días. Lo que tengo que hacer es leer un fichero y copiar todo en uno nuevo.

Router.cfg es donde estará la información. Le quiero cambiar el nombre añadiéndole la fecha y grabándolo en otro sitio un fichero nuevo pero no lo consigo. A ver qué me dices de este código . Gracias:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!usr/bin/perl
$politica_nueva = "router.cfg" ;
&fecha ;
$router = zlsoe ;
&nfichero ;
&configuracion;
sub fecha {
  $fecha = localtime ;
  my @fecha = localtime;
  $mes = @fecha[4] ;
  $mes = $mes + 1 ;
  $anyo = @fecha[5] ;
  $anyo = $anyo + 1900 ;
  $fecha_real = @fecha[3].$mes.$anyo;
  return $fecha_real ;
}

sub nfichero{

  $fichero= ($router.$fecha_real."."."cfg");
  print "$fichero \n" ;
  sleep 2;
  return $fichero;
}

sub configuracion {
open (CONF,"<$politica_nueva");
open (FICH,">$fichero");
       @registros1=<CONF>;                    #mete el fichero en un array
       @registros2=<FICH>;
       foreach $conf(@registros1){            #lo recorre para ir imprimiendo todo


        print FICH $conf ;

        }
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
aramallal
Perlero nuevo
Perlero nuevo
 
Mensajes: 63
Registrado: 2007-06-12 06:29 @312

Publicidad

Notapor monoswim » 2007-06-29 09:00 @416

Este es un archivo que hice a las apuradas, lo estaba haciendo para copiar tooooodos los archivos de un directorio a otro :D

Código: Seleccionar todo
       opendir (DATABASEDIR, htmls_editer);
          my @elementos = sort readdir (DATABASEDIR);
       closedir(DATABASEDIR)
       shift(@elementos);
       shift(@elementos);


foreach my $elemento (@elementos){
    my $filecode = '';
    open(FILE, "< htmls_editer/$elemento");
       while (my $linecode = <FILE>){
          $filecode .= $linecode;
       }
    close(FILE);

    open(FILE, "> htmls_editer2/$elemento");
       print FILE $filecode;
    close(FILE);

    print "Archivo $elemento editado correctamente \n";
}
       print "The End";


Espero que te sirva

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor kidd » 2007-06-29 09:10 @423

Usa el módulo File::Copy:


Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!usr/bin/perl

use strict;
use File::Copy;

my $politica_nueva = "router.cfg";

my $fecha = fecha();
my $router = "zlsoe";

my $fichero = nfichero();

copy($politica_nueva,$fichero) or die "Copy failed: $!";


sub fecha {
  my @fecha = localtime;
  return ($fecha[3] . ($fecha[4]+1) . ($fecha[5]+1900));
}


sub nfichero{
  my $fichero = ($router.$fecha."."."cfg");
  print "$fichero \n" ;
  sleep 2;
  return $fichero;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados