[bcn-pm] RS: RS: consulta per eliminar linies en blanc

jluis a escomposlinux.org jluis a escomposlinux.org
dis ago 24 14:55:56 PDT 2013


Hola Enric,

Perdona si soc breu estic adormit.


El problema es que apliques l'expressió regula al identificador de fitxer.
una solucio es fer :

 print $fh "\n" if $data[0] #si hi han dades salt de línea


Ara comento el codi
> #!/usr/bin/env perl
> use strict;
> use v5.10;
> use LWP::Simple;
> use Text::CSV;
> chdir('/home/enric/csv');

seria millor fer servir el hash %ENV
  chdir("$ENV{HOME}/csv");

> my $output_file = 'metar_brut.csv';
> my @airports    = qw( LFBD LFBF LFBH LFBL LFBO LFBZ LFKJ LFLL LFLS LFLS
LFMD LFME LFMH LFMK LFML LFMN LFMO LFMP LFMU LFOH LFOP LFPB LFPG LFPO
LFPW
> LFQQ LFRB LFRC LFRD LFRK LFRN LFRS LFRQ LFRV LFSA LFSD LFSF LFSN LFSR
LFST
> LFTW EHAM EHEH EHGG EHRD EICK EIDW EINN );
> open my $fh, ">:encoding(utf8)", $output_file or die $!;
> my $csv = Text::CSV->new ( { binary => 1, sep_char => ' '} );
> for my $code ( @airports ) {
>     my $page =
> "http://aviationweather.gov/adds/metars/?station_ids=$code&std_trans=standard&chk_metars=on&hoursStr=most+recent+only&submitmet=Submit";
>     my $html = get( $page );
>     my @data = $html =~ />(.*)<\/FONT/;
>     $csv->print( $fh => [ split( ' ', $data[0] ) ] );
                       ^ jo ficaria la coma normal es mes llegible

>     #$fh =~ s/\n+/\n/g;
      aquesta línia no faria res $fh es un nombre (reference)

>     print $fh "\n"
      print $fh "\n" if $data[0]

> }
> close $fh;






Més informació sobre la llista de correu Barcelona-pm