Schrift
[thread]8054[/thread]

File::UserConfig: keinen Plan von der Materie



<< >> 6 Einträge, 1 Seite
pktm
 2006-06-05 01:14
#66989 #66989
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich bin in den Sourcen von PCE über diese netten Module wie CPAN:File::UserConfig oder  CPAN:File::ShareDir gestoplert.
Die gefallen mir vom Konzept her ganz gut, aber ich habe keinen Plan davon, wie ich sowas ans laufen bringe, Bislang habe ich einfach immer in dem Verzeichnis, in dem sich die ausführbare Datei meines Programmes befindet eine Ordnerstruktur erzeugt, die meine Dateien und sonstigen Dinge beinhaltete. Jetzt würde ich das gerne File::UserConfig machen lassen (ist sowieso meistens besser andere für sich arbeiten zu lassen :-) ).
Nun steht in der Dokumentation, dass man per Module::Install die eine Hälfte der vorgeschlagenen Lösung (Nutzung von File::UserConfig) realisieren sollte um das überhaupt nutzen zu können. Jetzt bnefinde ich mich in dem unglücklichen Zustand, dass ich die Software gerade erst entwickle und noch keinen Installer geschrieben habe (und es auch so schnell nciht vor habe).
Wo muss ich also sozusagen manuell meinen Ordner anlegen, in dem File::UserConfig später die Daten lokalisiert, damit ich bei der Entwicklung schonmal dfrauf zugreifen kann?

In der Dokumentation steht zwar, dass das Modul die Anlage noch nicht vorhandener Verzeichnisse selbst erledigt, jedoch sieht das bei mir so aus:
Quote
Directory '\auto\MeinProgrammModul', does not exist at C:/Perl/site/lib/File/UserConfig.pm line 166


Wer kann mir da weiter helfen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2006-06-08 13:54
#66990 #66990
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Na, keiner eine Idee?
Hier ein Minimalbeispiel zum testen:

UserConfigTest.pm
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package UserConfigTest;

use strict;
use warnings;
use File::UserConfig;

sub new {
   my $class = shift;#Klasse wird übernommen
   my $self = {};#Anonymes Hash wird erzeugt
   bless $self, $class;#$self wird geblesst
   return $self;#$self wird zurückgegeben
}

sub printes {
   # The most simple Do What I Mean usage.
   my $configdir = File::UserConfig->configdir;
   print $configdir;
}

1;


Instanz:
Code: (dl )
1
2
3
4
5
6
7
8
#!/Perl/bin/perl

use strict;
use warnings;
use UserConfigTest;

my $app = new UserConfigTest;
$app->printes();


Beide Dateien liegen bei mir im Verzeichnis c:/Perl/Scripten/test.

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Crian
 2006-06-08 18:26
#66991 #66991
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Ich weiß, das hilft dir nicht weiter, aber
[quote=pktm,08.06.2006, 11:54]
Code: (dl )
1
2
3
4
5
6
sub new {
my $class = shift;#Klasse wird übernommen
my $self = {};#Anonymes Hash wird erzeugt
bless $self, $class;#$self wird geblesst
return $self;#$self wird zurückgegeben
}
[/quote]
finde ich ein wunderschönes Beispiel dafür, wie man nicht
kommentieren sollte. Erstens erschweren die Kommentare das
Lesen, da sie direkt am Code dranhängen, zweitens steht da
nochmal, was vorne auch steht, oder wo ist der Unterschied
zwischen "return $self" und "$self wird zurückgegeben"?

Soll nicht gegen dich gehen, fiel mir nur so auf.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2006-06-08 18:45
#66992 #66992
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
genau: doku sagt nicht, was der code macht, sondern warum. in diesem fall
sollte 'konstruktor' genügen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
lichtkind
 2006-06-08 23:47
#66993 #66993
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ich hoffe du wartest auf keine antwort von mir, denn diesen Teil schrieb Adam. Diese module sind auch noch nicht innerhalb des Editors in benutzung, es ist grad ne menge im "Übergang". Und es werden innerhalb dieses viele Geister im quellcode auftauchen und verschwinden :)\n\n

<!--EDIT|lichtkind|1149842865-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
pktm
 2006-06-09 13:24
#66994 #66994
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=Crian,08.06.2006, 16:26]Ich weiß, das hilft dir nicht weiter, aber
[quote=pktm,08.06.2006, 11:54]
Code: (dl )
1
2
3
4
5
6
sub new {
    my $class = shift;#Klasse wird übernommen
    my $self = {};#Anonymes Hash wird erzeugt
    bless $self, $class;#$self wird geblesst
    return $self;#$self wird zurückgegeben
}
[/quote]
finde ich ein wunderschönes Beispiel dafür, wie man nicht
kommentieren sollte. Erstens erschweren die Kommentare das
Lesen, da sie direkt am Code dranhängen, zweitens steht da
nochmal, was vorne auch steht, oder wo ist der Unterschied
zwischen "return $self" und "$self wird zurückgegeben"?

Soll nicht gegen dich gehen, fiel mir nur so auf.[/quote]
Ja, das sind so die Dinge die bei Copy&Paste aus Tutorials entstehen...

Nun, ich werde mal weiter probieren.
Aber sollte es einer von euch hinbekommen, dann möge erm ir doch bitte bescheid sagen :-)
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 6 Einträge, 1 Seite



View all threads created 2006-06-05 01:14.