1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
my @files=("listeG.csv",
"listeB.csv",
"listeE.csv",
"listeP.csv",
"listeA.csv",
"listeC.csv",
"listeO.csv",
"listeM.csv",
"listeS.csv",
"listeV.csv",
"listeQ.csv",
"listeF.csv",
"preislisteG.csv");
foreach $datei (@files)
{
my $daten = "";
open(TXT,$datei) or die "Fehler1: \n";
while(<TXT>){
$daten = $daten.$_;
my %UMLAUTE = ('Ä'=>'Ä','Ö'=>'Ö','Ü'=>'Ü','ä'=>'ä','ö'=>'ö','ü'=>'ü','ß'=>'ß');
my @UMLKEYS = join("|", keys(%UMLAUTE));
$daten =~ s/(@UMLKEYS)/$UMLAUTE{$1}/g;
}
close (TXT);
open (TYT,">$datei") or die "Fehler2: \n";
print TYT $daten;
close (TYT);
copy($datei,"C:\\xampp\\htdocs\\aserver\\AAA\\AAApflugi\\listen\\".$datei);
$ftp->ascii();
$ftp->put("$datei");
}
2017-06-29T22:53:02 hlubenowDas habe ich längst gemacht.Na ja, Du mußt das Problem halt isolieren. Versuch', nur diese Datei einzulesen...
2017-06-30T05:10:18 hago2017-06-29T22:53:02 hlubenowDas habe ich längst gemacht.Na ja, Du mußt das Problem halt isolieren. Versuch', nur diese Datei einzulesen...
2017-06-30T05:10:18 hagoAber was meinst du mit "mit den RegEx zu ändern" ?
Soll ich den Dateinamen ändern?
$line =~ s/($RE_UMLAUTE)/$UMLAUTE{$1}/g;
c:\> uploader.pl datei1 datei2 datei2 usw.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
use strict; use warnings; # load your FTP module use Tie::File; # define @files my @files = ( ... ); # set up FTP ... my %UMLAUTE = ( 'Ä'=>'Ä', 'Ö'=>'Ö', 'Ü'=>'Ü', 'ä'=>'ä', 'ö'=>'ö', 'ü'=>'ü', 'ß'=>'ß', ); my $RE_UMLAUTE = join("|", keys(%UMLAUTE)); for my $file (@files) { tie my @lines, 'Tie::File', $file or die "Could not tie $file: $!"; for my $line ( @lines ) { $line =~ s/($RE_UMLAUTE)/$UMLAUTE{$1}/g; } untie @lines; copy($datei,"C:\\xampp\\htdocs\\aserver\\AAA\\AAApflugi\\listen\\".$datei); $ftp->ascii(); $ftp->put("$datei"); }