Hallo,
habe es nach eurem Vorschlag versucht aber irgendwie funktioniert das nicht. zum einen hat das programm ein problem mit $ofh ("could not open....).Wenn ich "open my $ofh" auskommentiere und es nur über $fh versuche, (der $filename soll ja gleich bleiben, nur nicht *.csv, sonder *.txt heissen) gibt er mir "Cant call method "parse" without a package or object reference"....
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
$ftp = Net::FTP->new($host, Debug => 0)
or die "Es konnte keine Verbindung zu $host: $@ aufgebaut werden", $ftp->message;
$ftp->login($user, $pass);
$ftp->cwd("/daten/outgoing/")
or die "Ziel-Verzeichnis nicht gefunden", $ftp->message;
@dir = $ftp->ls('*.*');
foreach(@dir){
$filename=$_;
$ftp->get($filename, "@dest_dir$filename");
#ab hier soll umgewandelt werden
open my $fh, '<', "@dest_dir$filename" or die "Could not open $filename: $!";
open my $ofh, ">", "@dest_dir$filename_converted" or die "Could not open $filename_converted: $!";
while (my $line = <$fh>) {
my $status = $csv->parse($line); # ggfs. fehler abfangen
my @columns = $csv->fields();
$status = $ocsv->combine(@columns); # ggfs. fehler abfangen
$line = $ocsv->string();
$line =~ tr/,/;/;
print $ofh $line;
close $fh;
}
}
print "\n Download beendet \n";
$ftp->quit();
hat jemand ne Idee was ich hier falsch gemacht habe?