[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