use XBase

use XBase

am 24.04.2008 17:12:13 von Hago

Hallo,

ich lasse auf diese aus einer DBF-Datei eine CSV-Datei erstellen:
.................
my $table = new XBase "Kunden1.dbf" or die ("Nix isch");
open(DAT,">Kunden.csv");
for (0 .. $table->last_record) {
my ($deleted, $id, $kname, $tag, $kstr, $kort)
= $table->get_record($_, "K_NUMMER", "K_NAME", "T_NUMMER",
"K_STRASSE", "K_ORT");
$kname = Encode::decode("ibm850", $kname);
$kstr = Encode::decode("ibm850", $kstr);
$kort = Encode::decode("ibm850", $kort);
print DAT
"\"$id\";\t\"$kname\";\t\"$tag\";\t\"$kstr\";\t\"$kort\"\n" unless
$deleted;
}
close DAT;
...................
Mich würde sehr interessieren, ob dabei die Datei Kunden.dbf irgendwie in
Gefahr ist, gelöscht oder sonstwie verändert zu werden.
Ich kann's mir zwar nicht denken, aber man weiß ja nie, ob man vielleicht
was nicht weiß :-)

Gruß, Hago

Re: use XBase

am 24.04.2008 21:22:54 von Bjoern Hoehrmann

* Hago Ziegler wrote in de.comp.lang.perl.misc:
>ich lasse auf diese aus einer DBF-Datei eine CSV-Datei erstellen:
>................
> my $table = new XBase "Kunden1.dbf" or die ("Nix isch");

>Mich würde sehr interessieren, ob dabei die Datei Kunden.dbf irgendwie in
>Gefahr ist, gelöscht oder sonstwie verändert zu werden.

Ein kurzer Blick in XBase::Base verrät, wenn man nicht nen scheinbar un-
dokumentierten Parameter an den Konstruktor übergibt, wird die Datei zu-
mindest zum lesen und schreiben geöffnet (cf. "readonly" in dem Modul).
Im Zweifel müsste man den Autoren fragen oder den Code untersuchen, hier
wird dir das wohl keiner genau sagen können. Im Zweifel lieber sicher-
gehen und eine Kopie machen oder mit einem guten Schreibschutz versehen.
--
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/