[Rio-pm] print() on closed filehandle

Tiago Peczenyj tiago.peczenyj em gmail.com
Domingo Outubro 21 13:45:15 PDT 2012


um beijo pra vc também

2012/10/21 Stanislaw Pusep <creaktive em gmail.com>

> Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte (algo
> que definitivamente não vale para um arquivo .pl, por mais que nos caçoem),
> um arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de \x0A.
> Mapeando CR => CRLF, pode crescer em cerca de 50KB. Acho que 6,19MB está
> dentro da faixa :)
>
> ABS()
>
>
>
>
> 2012/10/21 Tiago Peczenyj <tiago.peczenyj em gmail.com>
>
>> mas isso nao explica o tamanho do video ser tão diferente...
>>
>>
>> 2012/10/21 Stanislaw Pusep <creaktive em gmail.com>
>>
>>> Você usa Windows, não?
>>> Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
>>> então abrir o handle como open($fh, '>:raw', 'nome.mp3').
>>> O erro acontece por que o Perl do Windows substitui byte \x0A pela
>>> sequencia \x0D\x0A em arquivos "texto".
>>> Em arquivo não-"texto", isso não é nada bom.
>>>
>>> ABS()
>>>
>>>
>>>
>>>
>>> 2012/10/21 Aureliano Guedes <guedes_1000 em hotmail.com>
>>>
>>>>  Não ainda, vou experimentar e volto com os resultados.
>>>>
>>>> ------------------------------
>>>> From: tiago.peczenyj em gmail.com
>>>> Date: Sun, 21 Oct 2012 17:54:30 -0200
>>>>
>>>> To: rio-pm em pm.org
>>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>>
>>>> então alguma coisa acontece durante o transporte ou o protocolo de
>>>> transmissão. estou sem tempo de analisar mas vc experimento usar o
>>>> wireshark?
>>>>
>>>> 2012/10/21 Aureliano Guedes <guedes_1000 em hotmail.com>
>>>>
>>>>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
>>>> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
>>>> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>>>>
>>>> Ja tentei baixar denovo, continua o mesmo problema.
>>>> ------------------------------
>>>> From: tiago.peczenyj em gmail.com
>>>> Date: Sun, 21 Oct 2012 17:25:59 -0200
>>>>
>>>> To: rio-pm em pm.org
>>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>>
>>>> analise o arquivo original e o que vc esta salvando, vc pode ter
>>>> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
>>>> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
>>>> cabeçalho do mp3).
>>>>
>>>> 2012/10/21 Aureliano Guedes <guedes_1000 em hotmail.com>
>>>>
>>>>  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
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>> _______________________________________________
>>>> 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
>>
>
>
> _______________________________________________
> 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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20121021/2ab670f8/attachment.html>


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