package Path; ###################################################################### # (c) Michael Schilli 1999 ###################################################################### use Cwd; use strict; ############################################################### # Absoluten Pfad aus relativem Pfad und aktuellem Directory # ermitteln: $abspath = Path::absolute($relpath); ############################################################### sub absolute { my $relpath = shift; Path::cd(cwd(), $relpath); } ############################################################### # Relativ in ein neues Verzeichnis wechseln: # $newpath = Path::cd($path, $chdir); ############################################################### sub cd { my($from, $to) = @_; my $current = cwd(); # Aktuelles Verzeichnis sichern # In Startverzeichnis wechseln Cwd::chdir($from) || return undef; # Relativ in Zielverzeichnis # wechseln Cwd::chdir($to) || (Cwd::chdir($current), return undef); my $retval = cwd(); # Zielverzeichnis sichern Cwd::chdir($current); # Aktuelles Verzeichnis # zuruecksetzen return $retval; } 1;