if ($foo) { local $cwd = ".."; /* current working directory changes */ ... } /* cwd is back to original directory */ #### if ($foo) { my $old_cwd = cwd; chdir ".."; ... chdir $old_cwd; }