#!/usr/bin/env perl use strict; if($#ARGV != 2) { print "Se necesitan tres argumentos...\n"; } else { open(IN, $ARGV[0]) || die("No puedo leer el archivo origen. No sé leer :-("); open(OUT, ">$ARGV[1]") || die("No puedo escribir el archivo destino. No sé escribir :-("); my $i = 1; while() { if($_ ne "\n") { chomp($_); my @arreglo = split(/\|/, $_); foreach (@arreglo) { chop($arreglo[1]) if ($arreglo[1] =~ /\d$/); } my $mocha = ($#arreglo - $ARGV[2])+1; splice(@arreglo, -$mocha); @arreglo = join('|', @arreglo); if(print OUT "@arreglo\r\n") { print "Línea $i procesada correctamente... ;-)\n"; $i++; } } } close IN; close OUT; }