Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7600[/thread]

File::Path -->mkpath

Leser: 2


<< >> 8 Einträge, 1 Seite
Andreas
 2006-01-09 16:55
#61587 #61587
User since
2003-09-24
111 Artikel
BenutzerIn
[default_avatar]
Hallo an alle,
ich erstelle mittels mkpath einen neuen Pfad, nun habe ich das Problem, dass wenn dieser bereits existiert er überschrieben wird, hat einer von euch eine Ahnung wie ich das abfangen kann?

Danke schon mal

Gruß
Andreas
sesth
 2006-01-09 17:04
#61588 #61588
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
if (-d $path)

liefert Dir die Information, ob der Pfad schon existiert.
Gruß
Thomas
Andreas
 2006-01-09 17:45
#61589 #61589
User since
2003-09-24
111 Artikel
BenutzerIn
[default_avatar]
Das Leben kann so einfach sein ;-)

Danke schön
gruß
Andreas
GwenDragon
 2006-01-09 18:17
#61590 #61590
User since
2005-01-17
14745 Artikel
Admin1
[Homepage]
user image
Ja, solange du es nicht technisch siehst.

Zsischen der Abfrage, ob der Pfad existent ist uind den nächsten perl Befehl bleibt Zeit, um genau den Pfad durch jemand erstellen zu können &endash; also eine Race Condition.\n\n

<!--EDIT|GwenDragon|1136823548-->
bloonix
 2006-01-09 20:14
#61591 #61591
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
was spricht gegen

Code: (dl )
print "$!\n" unless mkdir "$dir";


?
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2006-01-09 22:17
#61592 #61592
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=opi,09.01.2006, 19:14]
Code: (dl )
print "$!\n" unless mkdir "$dir";
[/quote]
Natürlich ist die print-Anweisung nur sinnvoll, wenn das Skript nicht
beendet werden soll. Ansonsten mit "die" arbeiten oder das mkdir in eine
if-Bedingung packen.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Dubu
 2006-01-09 22:34
#61593 #61593
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
@Andreas: Welches Betriebssystem, welches Perl?
Bei mir unter Linux schlaegt ein mkpath einfach fehl, wenn es den Pfad schon gibt.
renee
 2006-01-09 23:54
#61594 #61594
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=opi,09.01.2006, 19:14]was spricht gegen

Code: (dl )
print "$!\n" unless mkdir "$dir";


?[/quote]
mkdir != mkpath

Mit mkdir kann man nur eine Ebene im Verzeichnisbaum hinzufuegen, mit mkpath einen ganzen Baum (also mkdir('test'); mkdir('test/hallo'); vs. mkpath('test/hallo');)

Bei mkpath wird $! nicht gesetzt. Normalerweise sieht ein Aufruf von mkpath so aus:

Code: (dl )
1
2
3
eval{mkpath('path')};

die $@ if($@);
\n\n

<!--EDIT|renee|1136844128-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 8 Einträge, 1 Seite



View all threads created 2006-01-09 16:55.