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;">
> opendir( DIR, $caminho ) || die "Não pude abrir o diretorio $!\n";</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;">
> my $o = `/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> die "Caminho $caminho inacessivel";
<br>}<br><br>
<br>
Agora, como vc não está usando o caminho absoluto, tudo passa a funcionar<br>opendir(DIR, ".") || die " ... "; <br></div><br><br>Mas, seguindo a sugestão glob ... vc dispensa opendir, readdir e closedir ...
<br>
<br>
foreach ( glob("*.txt") ) { ... }<br>
<br><br>Outra coisa é o "mv", não use systemcall sem necessidade... use a função rename!<br><br>unless ( rename($source, $target) ) {<br> die "Falha ao renomear $source para $target";<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> <<a href="mailto:nferraz@gmail.com">nferraz@gmail.com</a>> 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>> outro problema, sei que deve ser besteira.. mas não achei a solução...<br>> alguém tem idéia do que pode ser?<br>><br>> eu estava testando o programa rodando na mesma pasta dos arquivos,
<br>> agora eu to tentando jogar o sistema em uma pasta qualquer e chamar os<br>> arquivos, até ai blz, mas não ta funcionando,... não sei o que pode<br>> ser, mas ele não acha o caminho....<br>><br>> o código é esse:
<br>><br>> #===============================================<br>> use strict;<br>> use warnings;<br>> my $caminho = '/home/flavio/upload/';<br>><br>> opendir( DIR, $caminho ) || die "Não pude abrir o diretorio $!\n";
<br>> my @files = readdir( DIR );<br>> closedir( DIR );<br>><br>> foreach( @files ){<br>><br>> my $f = $_;<br>> if (lc(substr($f, -3,3)) eq "txt"){<br>> my $o = `/sbin/fuser $f`;
<br><br>Será que não faltou o caminho antes do nome do arquivo?<br><br>foreach my $filename ( @files ) {<br> next if $filename !~ /\.txt$/i; # poderia ter feito um grep antes,<br>ou usado um glob<br><br> my $o = `/sbin/fuser $caminho/$filename`;
<br><br>(A propósito... procure escolher nomes de variáveis melhores, como<br>"$filename" ao invés de "$f", e... sei lá o que você estava pensando,<br>ao invés de "$o".)<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>