#!/usr/bin/perl if (@ARGV) { $min = $ARGV[0]; $max = $ARGV[1]; } else { $min = 0; $max = 25; } $b = 502; $e = 507; if ( $ARGV[0] eq 'd' ) { $b = 508; $e = 513; $min = 0; $max = 25; } for ($b..$e) { $_ = `lynx \"http://www.televideo.rai.it/televideo/pub/popupcattura.jsp?pagina=$_\" -dump`; # $_ = `lynx \"http://www.servizitelevideo.rai.it/televideo/pub/solotesto.jsp?pagina=$_\" -dump`; $in = 0; foreach ( split /\n/ ) { s/\s*\d\/3\s*//g; $in = 0 if /^\s*------|^\s*\d{3}|\d{3}\s*$/ && ! /^\s\d\d\.\d\d/; if ( $in ) { if ( /^\s{3,5}([A-Z]{2}.+)$/ ) { ( $ind = $1 ) =~ s/^\s*(\S+)\s*\r*$/$1/; $ord .= "$ind,"; } elsif ( ( /^\s(\d\d)/ || /^\s{7}.+/ ) && $1 >= $min && $1 <= $max ) { s/^(.+)\s+\d\d\.\d\d\s*$/$1/; s/\s{2,}/ /g; $nl = ''; $nl = "\n" if /^\s(\d\d)/ && $arr{$ind}; $arr{$ind} .= "$nl$_" if $_ !~ /^\s*$/; } } $in = 1 if /mattina|pomeriggio|sera|notte/; } } foreach ( split(/\,/, $ord) ) { last if ($i++ >= 9); print " $_\n$arr{$_}\n\n" if $arr{$_}; }