Abend Forum
Jetzt muss ich mal nachfragen: Gab es eine Änderung im Dateipfad zwischen Ubuntu 9.04 unf 15.04? Außer das der "Desktop" jetzt "Schreibtisch" heißt?
Ich frage wegen eines Perlprogrammes. Perlkopf bisher so (Zeile 9 u. 10 nur für Test eingefügt und Zeile 15 ganz anderes Problem):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/usr/bin/perl use strict; use warnings; use utf8; use DBI; use Encode; use Fcntl ':flock'; use FindBin '$Bin'; # <-Original Programmcode / Hat auf 9.04 funktioniert! # use FindBin qw($Bin); # Test für Dateipfad / Hier abgeschaltet (Remark) # use lib "$Bin/../lib"; # Test für Dateipfad / Hier abgeschaltet (Remark) use Text::Table::Tiny; use File::Copy; use Date::Calc qw(Add_Delta_Days Today); binmode STDOUT, ":encoding(UTF-8)"; #binmode STDIN, ":encoding(UTF-8)"; # <-- Test für Encoding-Verhalten-Input / Hier abgeschaltet (Remark) |
Und unten im Programm (Ausschnitt) so:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | %zuordnung=( kunden => { file => 'kunden.csv', col_names => ['kdnummer', 'kddatum', 'kdfirma', 'kdstrasse', 'kdhausnummer', 'kdplz', 'kdort', 'kdland', 'kdansprechpartner', 'kdtelefon', 'kdfax', 'kdemail'], }, ); # Verbindung aufbauen $dbh = DBI->connect("DBI:CSV:", undef, undef, { # Zeilenseparator csv_eol => "\x0A", # Spaltenseparator: csv_sep_char => ",", # Verzeichnis mit den Dateien f_dir => $Bin, # Zuordnung Dateiname -> Tabelle csv_tables => \%zuordnung, # bei Fehlern immer sterben: RaiseError => 1, } ) or die($DBI::errstr); |
Was man jetzt noch wissen muss:
1. Alle Ordner und Programme liegen aktuell zum Testen auf dem Schreibtisch.
2. Es gibt eine csv-Datei namens "kunden.csv" die liegt auch auf dem Schreibtisch.
Auf Ubuntu 9.04 lief das Programm genau so. Nun, auf Ubuntu 15.04 bricht er mit der Fehlermeldung ab, er könne die Datei nicht finden.
Aber: Bennene ich die Datei "kunden.csv" um in "kunden", findet er die Datei!
Warum findet er die Datei ohne Angabe des Dateityps?
Irgendwas muss auf Ubuntu 15.04 anders sein - aber was???