[bcn-pm] RS: RS: RS: consulta per eliminar linies en blanc
Agud Pique, Enric
eagud.q a tv3.cat
diu ago 25 00:52:46 PDT 2013
Moltes gràcies,
merci pel comentari del hash %ENV, ho desconeixia...ara han desaparegut les linies en blanc amb print $fh "\n" if $data[0]
Enric
Bon diumenge
-----Missatge original-----
De: Barcelona-pm en nom de jluis a escomposlinux.org
Enviat el: ds. 24/08/2013 23:55
Per a: Barcelona Perl Mongers
Tema: Re: [bcn-pm] RS: RS: consulta per eliminar linies en blanc
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;
_______________________________________________
llista dels Barcelona-pm
Barcelona-pm a pm.org
http://mail.pm.org/mailman/listinfo/barcelona-pm
BCN Perl Mongers: http://barcelona.pm.org
Més informació sobre la llista de correu Barcelona-pm