perl CGI将文件写入同级目录

perl CGI将文件写入同级目录,perl,directory,cgi,Perl,Directory,Cgi,当前文件夹结构如下所示 /main/site/script.cgi 我希望能够在以下位置写入文件: main/logs/mylog.log 我如何在不给出绝对路径的情况下执行此操作?因为它可以部署到不同的服务器,所以我不希望每次部署它时都要更改它 要使用相对路径访问目录,首先需要确定该路径的相对位置。这意味着您需要找出运行CGI脚本的当前工作目录 如果您将此程序添加到服务器并在浏览器上调用它,您将看到该服务器应用于其所有CGI程序的当前工作目录 use strict; use warnings;

当前文件夹结构如下所示

/main/site/script.cgi

我希望能够在以下位置写入文件:

main/logs/mylog.log


我如何在不给出绝对路径的情况下执行此操作?因为它可以部署到不同的服务器,所以我不希望每次部署它时都要更改它

要使用相对路径访问目录,首先需要确定该路径的相对位置。这意味着您需要找出运行CGI脚本的当前工作目录

如果您将此程序添加到服务器并在浏览器上调用它,您将看到该服务器应用于其所有CGI程序的当前工作目录

use strict;
use warnings;

use CGI ':standard';
use Cwd 'getcwd';

print header('text/plain');

printf "Current working directory: %s\n", getcwd;
例如,如果发现当前工作目录为/main/site,则可以使用路径../logs/mylog.log创建该文件