Thread performance: glob combined chdir (14 answers)
Opened by Froschpopo at 2005-10-25 10:00

ptk
 2005-10-28 01:55
#59248 #59248
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
1. File::Glob::bsd_glob() statt glob() verwenden! glob() verhält sich unerwartet, wenn $path Leerzeichen enthält.

2. Wenn man mit chdir irgendwo hinspringt, dann sollte man wieder zurückspringen. Man weiß nie, ob ein anderer Teil des Programms sich darauf verlässt, dass man sich in einem bestimmten Verzeichnis befindet. Ich benutze gerne diese Funktion:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
sub _save_pwd (&) {
my $code = shift;
require Cwd;
my $pwd = Cwd::cwd();
eval {
$code->();
};
my $err = $@;
chdir $pwd or die "Can't chdir back to $pwd: $!";
die $err if $err;
}

View full thread performance: glob combined chdir