1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!C:\perl\perl\bin -w
use Net::FTP;
use Encode qw/encode decode/;
use utf8;
if ($ftp=Net::FTP->new('xxx.de'))
{
if ($ftp->login('xx','xx')or die("Login hat nicht geklappt"))
{
$ftp -> binary();
$ftp->cwd('test/listen');
my $datei = 'C:\Users\Hago\AAProjekte\Hofgut-o\AlleListen_2015\preisliste_G.csv';
open my $fh,"<:utf8", $datei or die("Mist 1");
$ftp->put($fh, $datei);
close $fh;
$ftp->quit();
}
}
print "Alles perfekt";
exit;
2018-04-04T17:11:53 rostiSind die Texte so kodiert wie sie es sollen?
open my $fh,"<:utf8", $datei or die("Mist 1");
1
2
3
4
5
6
7
8
9
10
use Encode qw/encode decode/;
my $datei = 'C:\Users\Hago\AAProjekte\Hofgut-o\AlleListen_2015\preisliste_G1.csv';
my $temp = 'C:\Users\Hago\AAProjekte\Hofgut-o\AlleListen_2015\preisliste_G.csv';
open(my $alt,'<:encoding(iso-8859-2)',$datei) or die("Mist 1");
open(my $neu,'>:encoding(UTF-8)',$temp) or die("Mist 2");
while (<$alt>) {
print $neu $_;
}
1 2
open(my $alt,'<:encoding(iso-8859-2)',$datei) or die("Mist 1"); open(my $neu,'>:encoding(UTF-8)',$temp) or die("Mist 2");
QuoteWenn ich die selbe Datei zum Lesen und Schreiben benützen könnte, fände ich es noch besser.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use strict; use warnings; use Encode qw(encode decode); use IO::File; my $fh = IO::File->new; $fh->open('datei', O_RDWR|O_BINARY) or die $!; read($fh, my $octets, -s $fh); # oktetten zu strings, decode, encode my $binary = encode('UTF-8', decode('ISO-8859-2', $octets) ); $fh->seek(0,0); $fh->truncate(0); $fh->print($binary); # und hier könnte man $fh an FTP übergeben