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

Agud Pique, Enric eagud.q a tv3.cat
dis ago 24 10:32:18 PDT 2013


Hola companys,

Al final prefereixo posar el codis dels metars dins l'script pq en tinc uns quants...

Dubte: algunes consultes tornen sense dades, i aleshores les lines corresponents queden blanques. Necessito eliminar aquestes linies blanques, exemple,

LFPO 241700Z 30011KT 270V330 9999 SCT030 BKN090 20/12 Q1012 NOSIG

LFQQ 241700Z 23007KT 7000 -RA BKN013 BKN140 17/16 Q1010 TEMPO 3000 RA BKN007
LFRB 241700Z 31007KT 260V330 9999 BKN030 BKN230 17/10 Q1019 NOSIG
LFRC 241700Z AUTO 27016KT 9999 OVC034 16/11 Q1015
LFRD 241700Z AUTO 30017KT 9999 SCT032 BKN042 17/09 Q1017
LFRK 241700Z AUTO 30013KT 9999 SCT029 BKN060 OVC072 18/12 Q1014
LFRN 241700Z AUTO 32013KT 9999 NSC 18/08 Q1017
LFRS 241700Z 28010KT 240V320 9999 FEW046 BKN250 19/10 Q1017 NOSIG
LFRQ 241700Z AUTO 31015KT 9999 FEW032 BKN038 17/11 Q1019
LFRV 241700Z AUTO 31010KT 9999 NSC 18/08 Q1018

LFSD 241700Z AUTO 19005KT 130V220 9999 //////CB 21/17 Q1012


He probat d'eliminar-les afegint al codi aquesta comanda $fh =~ s/\n+/\n/g; però no he tingut èxit. Potser he d'afegir alguna propietat del paquet TEXT::CSV per eliminar-les?

Moltes gràcies per l'ajuda, espero que algu em pugui respondre, 

Salutacions

Enric


#!/usr/bin/env perl

use strict;
use v5.10;

use LWP::Simple;
use Text::CSV;
chdir('/home/enric/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] ) ] );
    #$fh =~ s/\n+/\n/g;
    print $fh "\n"
}

close $fh;




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