将变量传递给nginx.conf中的perl模块

时间:2013-07-17 11:38:06

标签: perl nginx

我正在编写一个Nginx配置,它调用带有一些Nginx变量的perl脚本作为argumetns并向脚本返回一个值,好像Nginx.conf是这个perl脚本的主要部分。我在Nginx上启用了perl模块,并从nginx配置成功运行了helloworld。作为perl的新手,你可以帮助我知道这有什么问题 这是我的test.pm

#!/usr/bin/perl

sub function {
    my $r = shift;
    my $foo = $r->variable('foo');
    print $foo;
}

这就是我在Nginx.conf上调用它的方式

 set $foo 100;
 perl My::function ;

这就是我在我的控制台上得到的

nginx: [emerg] require_pv("test.pm") failed: "test.pm did not return a true value   at     (eval 1) line 1."

如果我像这样改变我的nginx conf

 perl My::function 100 ;

我得到了

nginx: [emerg] invalid number of arguments in "perl" directive in /usr/local/nginx  /conf/nginx.conf:22

1 个答案:

答案 0 :(得分:0)

您想要$ r-> print而不是仅打印以及1;最后