Esta ocorrendo pois você está colocando o "." antes
de TODOS os valores de $u.<br /><br />Como você disse que
está começando a aprender Perl, saiba que existem meios mais
fáceis e rápidos de fazer o que você quer.<br /><br
/>Dentro do loop "foreach $o (@arquivo) {"<br />basta você
usar o mecanismo de substituição das expressões
regulares:<br /><br />$o =~ s/\.[0-9]{6,8}//;<br /><br />De resto te
recomendo que você leia a vasta documentação que
está a sua disposição, para começar, execute
na linha de comando:<br />perldoc perl<br />perldoc perlrequick<br
/><br />Uma última observação, pesquise outras
maneiras de se carregar o array @arquivo. O Perl tem função
para isto.<br /><br />Espero ter-lhe ajudado.<br />Luiz.<br /><br />>
Boa tarde,<br />> <br />> eu tenho vários arquivos no
modelo:<br />> <br />> blablabla.txt.300606<br />>
blobloblo.300705<br />> bliblibli.org.txt.140504<br />>
blublublu.14062004<br />> <br />> Como eu edito todos os arquivos
para tirar essa data do final?<br />> <br />> Eu tentei isso:<br
/>> <br />> @arquivo = `ls`;<br />> foreach $o (@arquivo) {<br
/>> if ( $o =~ /[0-9]{6,8}/ ) {<br />> @arquivo2 =
split(/\./, $o);<br />> $date = pop @arquivo2;<br />> <br
/>> $string = "";<br />> foreach $u
(@arquivo2) {<br />> $string .= ".$u";<br />>
}<br />> }<br />> }<br />> <br />> Mas obviamente
isso remonta o arquivo dessa forma: .blablabla.txt<br />> Com um
"." a mais no inicio.<br />> <br />> Eu sou beeem novo em
Perl :)<br />> <br />> [ ]'s<br />> <br />> Leonardo.<br
/>> _______________________________________________<br />>
Cascavel-pm mailing list<br />> Cascavel-pm@pm.org<br />>
http://mail.pm.org/mailman/listinfo/cascavel-pm