我正在测试我的perl代码。我想将filepath作为参数传递给页面的URL。
perl代码完全依赖于此文件路径。
当我在perl代码中设置文件路径时。 (硬编码路径),我能够执行perl代码而没有任何错误。这是变量
my $filename="\\\\sfoaepmdata.dcc.com\\folder\\data.txt";
如果我通过URL传递它,它不会按预期工作。任何人都可以建议如何将文件路径作为URL中的变量传递?
以下是我试图将所有内容从url转移到perl代码的所有内容。
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=\\\\sfoaepmdata.dcc.com\\folder\\data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=\\sfoaepmdata.dcc.com\folder\data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=//sfoaepmdata.dcc.com/folder/data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=////sfoaepmdata.dcc.com//folder//data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=file://sfoaepmdata.dcc.com/folder/data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=file:////sfoaepmdata.dcc.com//folder//data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=http:////sfoaepmdata.dcc.com//folder//data.txt
http://apmqa.dcc.com/cgi-bin/test/editor.pl?filename=http://sfoaepmdata.dcc.com/folder/data.txt
上述数据可能看起来令人困惑。但是请仅在?ffilename之后读取值。任何人都可以建议。
我也试过传递其他正常的参数并且它有效。例如 $帐户=凝胶;文件路径不起作用。
http://apmqa.dcc.com/cgi-bin/test/editor.pl?account=GEL
答案 0 :(得分:1)
解决方案非常简单。我首先需要将用户参数转换为perl,然后相应地处理它。
$filename = $cgi->param('filename');
通过此代码,我们将从$ filename中获取用户的文件路径,我们可以处理所需的文件。希望它可以帮助某人。谢谢。
传递给URL的参数如下所示
?filename=\\sfoaepmdata.dcc.com\folder\data.txt