Ih, já que o Nelson deixou passar, vou sugerir ...<br><br>Evite carregar tudo em memoria, parece  (e possivelmente é) besteira, mas se vc não precisa fazer assim, não o faça:<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; opendir( DIR, $caminho ) || die &quot;Não pude abrir o diretorio $!\n&quot;;</blockquote><div><br>foreach ( readdir(DIR) ) { ... }<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $o =&nbsp;&nbsp;`/sbin/fuser $f`;</blockquote><div><br><br>E como o Nelson alertou, parece ser o caminho realmente ... uma sugestão seria:<br><br>unless ( chdir($caminho) ) {<br>&nbsp;&nbsp; die &quot;Caminho $caminho&nbsp; inacessivel&quot;;
<br>}<br><br>
<br>
Agora, como vc não está usando o caminho absoluto, tudo passa a funcionar<br>opendir(DIR, &quot;.&quot;) || die &quot; ... &quot;; <br></div><br><br>Mas, seguindo a sugestão glob ... vc dispensa opendir, readdir e closedir ...
<br>
<br>
foreach ( glob(&quot;*.txt&quot;) ) { ... }<br>
<br><br>Outra coisa é o &quot;mv&quot;, não use systemcall sem necessidade... use a função rename!<br><br>unless ( rename($source, $target) ) {<br>&nbsp;&nbsp; die &quot;Falha ao renomear $source para $target&quot;;<br>}<br><br><br>
<br><br>Sds,<br>Marco Antonio<br><br><br><div><span class="gmail_quote">Em 04/09/07, <b class="gmail_sendername">Nelson Ferraz</b> &lt;<a href="mailto:nferraz@gmail.com">nferraz@gmail.com</a>&gt; escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Em Sep 4, 2007, às 2:29 PM, Flavio Bei escreveu:<br><br>&gt; outro problema, sei que deve ser besteira.. mas não achei a solução...<br>&gt; alguém tem idéia do que pode ser?<br>&gt;<br>&gt; eu estava testando o programa rodando na mesma pasta dos arquivos,
<br>&gt; agora eu to tentando jogar o sistema em uma pasta qualquer e chamar os<br>&gt; arquivos, até ai blz, mas não ta funcionando,... não sei o que pode<br>&gt; ser, mas ele não acha o caminho....<br>&gt;<br>&gt; o código é esse:
<br>&gt;<br>&gt; #===============================================<br>&gt; use strict;<br>&gt; use warnings;<br>&gt; my $caminho = &#39;/home/flavio/upload/&#39;;<br>&gt;<br>&gt; opendir( DIR, $caminho ) || die &quot;Não pude abrir o diretorio $!\n&quot;;
<br>&gt; my @files = readdir( DIR );<br>&gt; closedir( DIR );<br>&gt;<br>&gt; foreach( @files ){<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $f =&nbsp;&nbsp;$_;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;if (lc(substr($f, -3,3)) eq &quot;txt&quot;){<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $o =&nbsp;&nbsp;`/sbin/fuser $f`;
<br><br>Será que não faltou o caminho antes do nome do arquivo?<br><br>foreach my $filename ( @files ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next if $filename !~ /\.txt$/i; # poderia ter feito um grep antes,<br>ou usado um glob<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $o = `/sbin/fuser $caminho/$filename`;
<br><br>(A propósito... procure escolher nomes de variáveis melhores, como<br>&quot;$filename&quot; ao invés de &quot;$f&quot;, e... sei lá o que você estava pensando,<br>ao invés de &quot;$o&quot;.)<br><br>[]s<br><br>Nelson
<br><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br></blockquote></div><br>