[Rio-pm] print() on closed filehandle

Aureliano Guedes guedes_1000 em hotmail.com
Domingo Outubro 21 12:14:34 PDT 2012


Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase não da para reconhecer a musica, é como se estivesse acelerado.

Será que é problemas calsado devido a forma que estou manipulando esse tipo de arquivo?

From: tiago.peczenyj em gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200
To: rio-pm em pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos separando o modo de abrir do nome do arquivo com uma virgula ao inves de um ponto para concatenar. alias vc pode interpolar assim


open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith <ole.ufg em gmail.com> wrote:


espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
0le
Send via Android
On Oct 21, 2012 3:38 PM, "Aureliano Guedes" <guedes_1000 em hotmail.com> wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at C:\User\AG\Desktop\mes.pl  line 31.'.




O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid argument' C:\User\AG\Desktop\mes.pl  line 19."




Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;



use autodie;


sub parse {
    my ($self) = shift;
    $self =~ s/\s+/\+/g;
    chomp $self;
    print "Now --> " . $self . "\n\n";
    return ("http://www.buscamp3.org/busca/" . $self);



}

sub gd {
    my ($self, $name) = @_;
    print $self . " == " . $name . "\n\n";
    open my $fh,">". $name . ".mp3";
    my $m = WWW::Mechanize->new();



    my $p = $m->get($self);
    $p = $p->decoded_content;
    $m->max_redirect(1);
    my @Links = $m->links();
    my $w = 0;
    SWU: foreach my $link(@Links){
        my @a = split ("/", $link->url());



        if ($a[1] =~ m/dl/gi){
            print "OK!\n";
            my $c = $m->get("http://www.buscamp3.org" . $link->url());
            print $fh $c->decoded_content;



            close $fh;
            $w = 1;
        }
        last SWU if ($w == 1);
    }
    undef $m;
}


open IN, $ARGV[0] or die;

foreach (<IN>){
    print "Search for: " . $_ . "\n";



    my $a = parse($_);
    gd($a, $_);
    print "\n\n";
}
 		 	   		  

_______________________________________________

Rio-pm mailing list

Rio-pm em pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


_______________________________________________

Rio-pm mailing list

Rio-pm em pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Tiago B. Peczenyj
Linux User #405772



http://pacman.blog.br



_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm 		 	   		  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20121021/ff6f4b2b/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm