Moin !
ich habe mir ein Tool zusammengebastelt das eine vorhandene Datei zunächst sicher t, dessen Daten ausliest, sortiert und dann wieder schreibt.
Hier der 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
58
59
60
61
62
63
64
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
# Variablendefinition
my $url='';
print("Sortieren von JOSM-Bookmarks\n");
print("----------------------------\n");
# Name der Bookmark-Datei
my $file_bookmark_name='test.txt';
# Name der Sicherungsdatei
my $file_bookmark_backup='test.bak';
# Verzeichnis in welchem sich das bookmark befindet
# dieses kann später noch autom. generiert werden
my $josm_appdata_folder='C:\\Users\\Tappenbeck\\AppData\\Roaming\\JOSM\\';
# Ist die BAK-Datei vorhanden ?
# ja => löschen
print "\nBackup loeschen ...\n";
if (-e $josm_appdata_folder.$file_bookmark_backup){
#löschen der bestehenden bookmark-datei
unlink $josm_appdata_folder.$file_bookmark_backup or warn "Kann Datei $file_bookmark_backup nicht loeschen !\n";
}else{
warn "Datei: $file_bookmark_backup nicht vorhanden !";
}
# Erstellen einer Kopie der BOOKMARK-Datei
print "\nBookmark sichern ...\n";
if (-e $josm_appdata_folder.$file_bookmark_name){
#sichern der bestehenden bookmark-datei
rename $josm_appdata_folder.$file_bookmark_name, $josm_appdata_folder.$file_bookmark_backup;
print "datei bearbeitung \n\n";
}else{
warn "Datei: $file_bookmark_name nicht gefunden !";
}
# Auslesen der BOOKMARK-Datei => Array
print "\nBackup einlesen ...\n";
open(DATEI, "<".$josm_appdata_folder.$file_bookmark_backup) || die "Fehler beim Öffnen der Bookmarkliste";
my @Zeilen = <DATEI>;
close(DATEI);
print "\nDaten sortieren ...\n";
# Sortieren des eingelesenen Array's
my @NeueZeilen;
@NeueZeilen = sort @Zeilen;
# Schreiben der sortierten BOOKMARK-Datei
print "\nsortierte Daten schreiben ...\n";
open(DATEI, ">c:/temp/test999.txt") || die "Bookmark-Datei kann nicht geschrieben werden !";
print DATEI @NeueZeilen;
close(DATEI);
# Fertig
print "\n... fertig !!\n";
Mein Problem liegt jetzt an der Stelle
open(DATEI, "<".$josm_appdata_folder.$file_bookmark_backup) || die "Fehler
Es wird die angegebene Datei angeblich nicht gefunden - kann mir einer sagen wo mein Fehler liegt ?
Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de