从另一个perl文档获取表单输入

时间:2014-05-20 09:20:13

标签: html forms perl input cgi

我有以下两个perl文件:

  1. mailcheck.pl
  2. loggingpage.pl
  3. 在mailcheck.pl中,用户在我希望在loggingpage.pl中使用的表单中输入内容。这就是我在mailcheck.pl中链接loggingpage.pl的方式:

     (...)
     if (emailoutline.test(x))
     {
      open("./loggingpage.pl");
     } 
     (...)
    

    在loggingpage.pl中,我现在想将用户输入绑定到变量my $emailinput。我不知道如何做到这一点 - 我已经尝试了my $emailinput = $ENV{'QUERY_STRING'};read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});之类的东西,但显然脚本不知道输入来自哪里,因为它是在mailcheck.pl中输入的而不是loggingpage.pl 。我很感激任何帮助解决这个问题"互动问题"两个perl文件之间..

    PS: 1.除了与用户输入的交互之外,这两个文档工作正常。 2.我已经提出了一个关于测试两个文档中用户输入的问题,因此如果您想查看整个代码,请访问:Get input from HTML form in other document using perl and checking input

2 个答案:

答案 0 :(得分:0)

使用Storable在第一个脚本中存储数据并从其他脚本中检索数据。

mailcheck.pl

  @array = ("some", "data");
  store (\@array, "/home/chankey/loggingpage.$$") or die "could not store";
  system("perl", "loggingpage.pl", $$) == 0 or die "error";

loggingpage.pl

my $parentpid = shift;
my $ref = retrieve("/home/chankey/loggingpage.$parentpid") or die "couldn't retrieve";
print Dumper $ref;

您已收到@array中的$ref。现在按照你想要的方式使用它。

答案 1 :(得分:0)

而不是:open("./loggingpage.pl");

您可以执行以下操作:system("/usr/bin/perl ./loggingpage.pl $emailinput");

假设perl安装在“/ usr / bin / perl”。