Coloque todos os argumentos de piconv
em uma única string:
system("piconv -f windows-1252 -t UTF-8 $SOURCE_File >$TARGET_File");
Estou tentando converter um conjunto de arquivos do Windows 10 em um diretório de ANSI para UTF-8. Eu encontrei o seguinte comando que funciona em um prompt de comando para um único arquivo se o comando for executado a partir da pasta onde o arquivo de origem existe:
piconv -f windows-1252 -t UTF-8 < SOURCE_File.txt > TARGET_File.txt
No entanto, eu preciso de alguma maneira de fazer isso para todos os arquivos em uma pasta escolhida. Eu pensei que eu poderia usar perl com o comando:
my $Test=system("piconv","-f", "windows-1252", "-t", "UTF-8"," < $SOURCE_File > ","$TARGET_File");
em que $ SOURCE_File e $ TARGET_File conterão, em geral, os caminhos completos dos arquivos.
MAS, isso não funciona! Eu recebo erros como argumento inválido ou não consigo abrir o arquivo.
Alguém sabe como colocar o comando piconv em um script perl? Eu posso configurar o loop para cada arquivo em um determinado diretório Eu simplesmente não posso trabalhar fora o comando piconv que converte cada arquivo.
Muito obrigado
Gauss76