Hallo Murphy....
Danke für die Antwort.hier der vollständige code:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/perl
use strict;
use warnings;
use Net::FTP;
#use Text::CSV;
#######ftp Zugangsdaten und Zielverzeichnis festlegen########
my $host = "ftp.1234.de";
my $user = "ich";
my $pass = "1234";
my @dest_dir = "/home/data/incoming/";
my $ftp = "";
my @dir = "";
my $filename = "";
my $filename_converted = "";
my $csv = "";
my $ocsv = "";
my $line = "";
$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();
sobald ich Text::CSV initialisiere gibt er mir ne wilde fehlermeldung "Can't locate Text/CSV.pm in @INC (@INC contains: /usr/per......"und das CPAN paket installieren geht glaub ich nicht (Adminrechte)