#! /usr/bin/perl # iso2ascii - Script que coge un texto en ISO y lo convierte a ASCII plano use strict; my $debug = 0; my $iso; my $fin; if (scalar @ARGV) { close STDIN; open STDIN, $ARGV[0] or die "No puedorl\n"; } while () { # Quitamos el salto de línea s/\r?\n//o; my $foo = ""; # Aquí guardaremos cómo va quedando la ristra while (/=([0-9A-F][0-9A-F])/i) { print "RISTRA CAZADA = '$1'" if ($debug); $iso = sprintf ("\%c", hex($1)); print "\nCARACTER ISO = $iso\n" if ($debug); $foo .= $` . $iso; s/.*?=[0-9A-F][0-9A-F]//i; } $_ = $foo . $_; $fin = s/=$//; # s/=20//; if ($fin) { print ; } else { print "$_\n"; } }