perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 21
Click for quality!




11.02.2012 / 06:58

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragProbleme mit der Umsetzung von einer Suchrutiene von und in Datei
Seitenanfang
Hallo Leute,

habe seit Ewigkeiten kein Perl mehr geschrieben und scheiter leider auch schon an einer einfachen Aufgabe ... Habe mit Java nen schönes Programm mit dem ich mir die Belegung (Shortcats) von meinem Spiel Dawn of War ändern kann nun mein Problem ich bräuchte die Daten aus den lua dateien das heißt es exestieren mehere unter Ordner und mehere .lua dateien

in etwa so :
attrib #hauptordner
\abilities #erster unterordner
....... # und immer so weiter

dann muß der die Dateien *.lua durchsuchen nach dem hier GameData["ui_ext"]["ui_index_hint"] =
und dem hier GameData["ui_ext"]["ui_hotkey_name"] =

jeweils das was hinter dem = sind die werte die ich benötige die sollten in einer ausgabe.txt gespeichert werden ungefähr so


Pfad : \attrib\abilities\
Datei mit Übereinstimmung: chaos_doombolt.lua
["ui_ext"]["ui_index_hint"] = 10.000
["ui_ext"]["ui_hotkey_name"] = 85.6658

Datei mit Übereinstimmung: chaos_blood_frenzy.lua
["ui_ext"]["ui_index_hint"] = 10.000
["ui_ext"]["ui_hotkey_name"] = Wert nicht Gesetzt

Wenn jemand eine Idee hat oder einen Lösugsvorschlag wäre ich dankbar, leider kann ich nur einfache Bashscripte schreiben *schäm*

Achja das BS ist Windows.

Mfg Viper

Datum: 18.06.2007-15:09

Beitragre: Probleme mit der Umsetzung von einer Suchrutiene von und in Datei
Seitenanfang
>> Wenn jemand eine Idee hat oder einen Lösugsvorschlag wäre ich dankbar, leider kann ich nur einfache Bashscripte schreiben *schäm*

Dann kannst dich ja auf die erste Lektion in Perl freuen :)

Du benoetigst das Modul File::Find, es durchsucht Ordner, dafuer stellt es die Funktion 'find' zur Verfuegung.


use File::Find; # importiert das File::Find-Modul

'find' uebergibt man eine Referenz (wie ein Zeiger) auf eine Subroutine die immer dann aufgerufen wird wenn der naechste Eintrag in einen Ordner gefunden wurde, das zweite Argument und alle weiteren Argumente sind Verzeichnisse in denen gesucht werden soll.

my $verzeichnis = 'C:/programm_ordner/attrib/';
find(\&gefunden, $verzeichnis);

Bei jeden Fund wird nun die Subroutine 'gefunden' aufgerufen, die hat die restliche Arbeit zu erledigen. Das waere, das Oeffnen der Datei, das Finden der gewuenschten Zeilen und Ausgabe in eine neue Datei ('ausgabe.txt').

In der Variablen '$File::Find::name' steht der komplette Pfad zu der gefundenen Datei.


sub gefunden {
my $datei = $File::Find::name;

# oeffnen der Datei

# zeilenweise Einlesen und
# Zeilen ueberspringen die nicht der Suche entsprechen

# gefundene Zeilen/Werte ausgeben
}


Oeffnen von Dateien zum Lesen und Schreiben geschieht mit Perl's 'open'-Funktion, fuer das zeilenweise Einlesen gibt es einen <DATEIHANDLE>-Operator bzw. die Funktion 'readline', fuer die Ausgabe verwendet man print.
Das finden der richtigen Zeile kann ueber die Funktion 'index' oder einen regulaeren Ausdruck (RegExp) erfolgen.

Das sind simple Perlgrundlagen die schnell zu erlernen sind, unter http://www.fabiani.net/talks/ findest du ein PDF-Dokument "Einfuehrung in Perl" von Martin Fabiani, es behandelt auf (momentan) 58 Seiten sehr gut die Grundlagen von Perl, schon in der ersten Haelfte der Einfuehrung wird das Arbeiten mit Dateien erklaert. Das Modul File::Find ist etwas speziell deshalb habe ich die Funktionsweise oben kurz erklaert. Viel Spasz beim Lesen und Lernen :)

,,Gib einem Hungernden einen Fisch, und er wird einmal satt, lehre ihn Fischen, und er wird nie wieder hungern.''

Datum: 18.06.2007-17:47

Beitragre: Probleme mit der Umsetzung von einer Suchrutiene von und in D
Seitenanfang
Danke für das Howto, bei kleinen Problemen werde ich michochmal melden.

Gruß Viper

Datum: 18.06.2007-18:08

Beitragre: Probleme mit der Umsetzung von einer Suchrutiene von und in D
Seitenanfang
No prob, nur zu :)

Datum: 18.06.2007-18:23

Beitragre: Probleme mit der Umsetzung von einer Suchrutiene von und in D
Seitenanfang
Hallo , jaweil ich den Script in Perl noch nicht ganz so gerallt habe ;-)

Habe ich den ist mal mit vbscript gemacht:
http://pastebin.com/932221

Aber mit Perl werde ich de auch noch machen sollte nicht so schwer sein wie vbscript

Gruß

Datum: 20.06.2007-00:12

Beitragre: Probleme mit der Umsetzung von einer Suchrutiene von und in D
Seitenanfang
Und das nennst du "nur Bashscripte schreiben" ? ;-)

Interessant waere jetzt nur ein Perlscript dass uebersichtlicher geschrieben ist, mindestens nur die Haelfte an Codezeilen benoetigt und die Sachen genauso oder viel besser erledigt (dafuer maximal Standardmodule verwendet) :-D

Datum: 20.06.2007-21:46

-






-
-