my $origin = File::Spec->file_name_is_absolute($0) ? $0 : File::Spec->rel2abs($0) ; my ($drive,$directories,$file) = File::Spec->splitpath( $origin ); my $path = File::Spec->catdir($drive,$directories); ################ check starting path my $current = File::Spec->rel2abs('.'); if ($current ne $path) { (chdir $path and print "OK chdir to $path\n")|| die "FATAL unable to change directory to '$path'."; }