<div dir="ltr">Sobre o open(): isso já foi pergunta de entrevista para programador Perl :)<div>O jeito *menos polêmico* de se gravar coisas em um arquivo é:</div><div><br></div><div>my $out;</div><div>open($out, '>', $dir/$id_produto/$img") or die "Erro...";</div><div>print $out $something;</div><div>close($out);</div><div><br></div><div>Concatenar '>' com o nome do arquivo tem corner cases interessantes. E manter separado tem algumas vantagens, como, por exemplo, especificar a codificação do arquivo texto:</div><div><br></div><div><div>open($out, '>:encoding(UTF-8)', 'texto.txt') or die "Erro...";</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-11-18 12:42 GMT+01:00 Ricardo Stock <span dir="ltr"><<a href="mailto:ricardostock@bol.com.br" target="_blank">ricardostock@bol.com.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="FONT-SIZE:10pt;FONT-FAMILY:'Arial';COLOR:#000000">
<div>Bom dia Daniel. obrigado pelo esclarecimento, mas veja, abro o arquivo da 
forma que mencionou</div><span class="">
<div> </div>
<div>#Abro o diretorio para excrita, o mesmo é criado antes</div>
<div>open OUT, ">$dir/$id_produto/$img" or die "Erro ao salvar a imagem com o 
codigo de barras $!";</div>
<div> </div>
</span><div>os tres argumentos, file_handle OUT</div>
<div>o arquivo </div>
<div>e a msg de erro “, que coloco uma mensagem particular para localizar mais 
facilmente o erro e o erro propriamente dito $!</div>
<div> </div>
<div>A diferença é que mando abrir para escrita no proprio arquivo “>Arquivo” 
Sempre fiz desta maneira, até mesmo por ver em documentaçao, vou fazer como 
falou. Posso estar errado !</div>
<div> </div>
<div>Obrigado</div>
<div> </div>
<div>Também em todos os codigos utilizo</div>
<div> </div>
<div>#!/usr/bin/perl –w</div>
<div> </div>
<div>use strict;</div>
<div>use warnings;</div>
<div>no warnings 'uninitialized';</div>
<div>use CGI qw(:standard);</div>
<div>use CGI::Carp qw(fatalsToBrowser warningsToBrowser);</div>
<div> </div>
<div>Lembrando que este foi o trecho do codigo que esta o erro, as declarações 
my estão em trechos anteriores ao erro mencionado, por este motivo não aparecem. 
Tenho o costume de declarar as variaveis ANTES de utiliza-las, justamente para 
nao ficar procurando depois. (Epoca do C)</div>
<div> </div>
<div>tipo my ($var1, $var2, $var3...) no bloco em que irei utilizalas. SEMPRE 
tabalho com errorlog sem msg alguma, ou terei problemas depois que não 
consiguirei achar e resolver.</div>
<div> </div>
<div>Mesmo assim, Obrigado <img style="BORDER-TOP-STYLE:none;BORDER-BOTTOM-STYLE:none;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none" alt="Alegre" src="cid:4399690C41D349BB96DFCDB9A7BE9C8A@RicardoPC"></div><span class="">
<div> </div>
<div style="FONT-SIZE:10pt;FONT-FAMILY:'Arial';COLOR:#000000">Ricardo 
Stock<br><a href="mailto:ricardo@stocksistemas.com.br" target="_blank">ricardo@stocksistemas.com.br</a><br><a href="http://www.stockssitemas.com.br" target="_blank">www.stockssitemas.com.br</a> - Tel/Whatsapp 
<a href="tel:%2813%2998826-5700" value="+5513988265700" target="_blank">(13)98826-5700</a></div>
</span><div style="FONT-SIZE:small;TEXT-DECORATION:none;FONT-FAMILY:"Calibri";FONT-WEIGHT:normal;COLOR:#000000;FONT-STYLE:normal;DISPLAY:inline">
<div style="FONT:10pt tahoma">
<div> </div>
<div style="BACKGROUND:#f5f5f5">
<div><b>From:</b> <a title="daniel.oliveira.mantovani@gmail.com" href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">Daniel de Oliveira 
Mantovani</a> </div>
<div><b>Sent:</b> Monday, November 16, 2015 2:15 PM</div><span class="">
<div><b>To:</b> <a title="saopaulo-pm@mail.pm.org" href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a> </div>
<div><b>Subject:</b> Re: [SP-pm] Salvar Imagem GD</div></span></div></div>
<div> </div></div>
<div style="FONT-SIZE:small;TEXT-DECORATION:none;FONT-FAMILY:"Calibri";FONT-WEIGHT:normal;COLOR:#000000;FONT-STYLE:normal;DISPLAY:inline"><div><div class="h5">
<div dir="ltr">Bom dia Ricardo, 
<div> </div>
<div>Esse seu problema específico é o menor dos seus problemas. O seu código 
está dizendo aos script-kiddies a seguinte mensagem: "Por favor, use o meu 
servidor como bot.".<br><br>Você sempre, sempre deverá usar open com três 
argumentos,</div>
<div>open my $file_handle, '>', 'arquivo' or die $!; <br>Se você não tiver um 
motivo específico, usa uma variável com o nome do fila handle.<br><br>(Lucas 
Moraes)++<br>Ricardo, sempre, sempre use as pragmas strict e warnings. Essas 
pragmas foram feitas justamente para nos ajudar a não cometer erros como o que 
você cometeu.<br><br></div></div>
<div class="gmail_extra">
<div> </div>
<div class="gmail_quote">2015-11-16 9:30 GMT-02:00 Ricardo Stock <span dir="ltr"><<a href="mailto:ricardostock@bol.com.br" target="_blank">ricardostock@bol.com.br</a>></span>:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:#ccc 1px solid">
  <div dir="ltr">
  <div dir="ltr">
  <div style="FONT-SIZE:10pt;FONT-FAMILY:'Arial';COLOR:#000000">
  <div>    Bom dia aos amigos.</div>
  <div> </div>
  <div>    Galera estou com uma dificuldade ao salvar uma imagem. 
  No código que estou fazendo, ao se realizar o cadastro, é automaticamente 
  salvo uma imagem com o código de barras do mesmo, afim de não se criar uma 
  imagem a ada vez que se visualiza o item.</div>
  <div> </div>
  <div>    Porem, a imagem não esta sendo salva corrtamente, pois 
  a mesma não abre, indo apenas o nome do arquivo com 0kb.</div>
  <div> </div>
  <div>    Este é o trecho do código que estou utilizando</div>
  <div> </div>
  <div>                
  #Crio a imagem utilizando o modulo EAN13</div>
  <div>                
  my $img = GD::Barcode::EAN13->new($barras);</div>
  <div>                
  </div>
  <div>                
  #Adiciono a extenção, se utilizar o metodo $mg->plot->png da erro de 
  execução, não de compilação </div>
  <div>                
  $img= $img . ".png";</div>
  <div> </div>
  <div>                
  #Abro o diretorio para excrita, o mesmo é criado antes</div>
  <div>                
  open OUT, ">$dir/$id_produto/$img" or die "Erro ao salvar a imagem com o 
  codigo de barras $!";</div>
  <div>                
  binmode OUT;</div>
  <div>                
  print OUT $img || die $!;</div>
  <div>                
  close OUT;</div>
  <div> </div>
  <div> </div>
  <div>               
  Acontece que :</div>
  <div> </div>
  <div>                
  Crio o diretorio para armazenar a imagem, sem problemas,</div>
  <div>                
  Armazeno a imagem padrão sem problemas.</div>
  <div>                
  Ao salvar o imagem com o código de barras, o cadastro é feito sem problemas ou 
  erros, mas a imagm nao é salva corretamente. </div>
  <div> </div>
  <div>    Quero que no momento do cadastro a imagem com o código 
  de barras seja salva afim de se evitar que a mesma seja criada a cada vez que 
  o produto seja visto. Alguma ajuda.</div>
  <div> </div>
  <div>    Obrigado     </div><span><font color="#888888">
  <div> </div>
  <div> </div>
  <div style="FONT-SIZE:10pt;FONT-FAMILY:'Arial';COLOR:#000000">Ricardo 
  Stock<br><a href="mailto:ricardo@stocksistemas.com.br" target="_blank">ricardo@stocksistemas.com.br</a><br><a href="http://www.stockssitemas.com.br" target="_blank">www.stockssitemas.com.br</a> - Tel/Whatsapp <a href="tel:%2813%2998826-5700" value="+5513988265700" target="_blank">(13)98826-5700</a></div></font></span></div></div></div><br>=begin 
  disclaimer<br>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>=end 
  disclaimer<br><br></blockquote></div><br><br clear="all">
<div> </div>-- <br>
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Thank you very much!</div>
<div dir="ltr"> </div>
<div dir="ltr">-dom</div>
<div dir="ltr"> </div>
<div dir="ltr">--</div>
<div dir="ltr"> </div>
<div dir="ltr">Daniel de Oliveira Mantovani</div>
<div dir="ltr">Business Analytic Specialist</div>
<div dir="ltr">Perl Evangelist /Astrophysics hobbyist. </div>
<div dir="ltr">+55 11 9 8538-9897</div>
<div dir="ltr">XOXO</div></div></div></div></div></div></div>
</div></div><p>
</p><hr><span class="">
=begin disclaimer<br>   Sao Paulo Perl Mongers: 
<a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>SaoPaulo-pm mailing list: 
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>=end 
disclaimer<br></span><p></p></div></div></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>