标签: mason

Perl Mason语法验证

有没有办法在命令行验证perl mason语法?我知道你可以使用的常规perl模块perl -c,但是这会引起像docstrings之类的特定于mason的语法的错误......

例如:

<%doc>
DOCUMENTATION SHOULD NOT GET PARSED
</%doc>

<%args>
$args
</%args>

<%perl>
my $var = $args->{var};
</%perl>
Run Code Online (Sandbox Code Playgroud)

是一个有效的perl mason文件,但是perl -c对它运行会返回:

Semicolon seems to be missing at path/to/file.mc line 1.
syntax error at path/to/file.mc line 2, near "DOCUMENTATION S"
path/to/file.mc had compilation errors.
Run Code Online (Sandbox Code Playgroud)

validation syntax perl mason

4
推荐指数
1
解决办法
646
查看次数

组件中Mason块的执行顺序是什么

如果这些块存在于Mason组件中,那么执行顺序是什么?

  • %args
  • %init
  • %once
  • %shared
  • %attr
  • %flags

perl mason

4
推荐指数
1
解决办法
1070
查看次数

为什么我对Perl 5.10,Mason和Apache感到恐慌?

我正在使用Perl 5.10,HTML :: Mason和apache 2.2 开发应用程序.这是我第一次将Perl 5.10用于大型项目.我偶尔会有一种奇怪的行为.该应用程序死于一个非常奇怪的错误:

panic: attempt to copy value
to a freed scalar b87acf34 at ...
Run Code Online (Sandbox Code Playgroud)

我想我的问题是Perl 5.10因为我以前从未经历过这种情况,还是其他一些错误的依赖?

非常感谢!

apache perl mod-perl mason panic

2
推荐指数
1
解决办法
799
查看次数

在梅森响应之前和之后这些数字是什么意思?

我在Ubuntu 10.10(x86)上使用mod_perl 2,mason和apache 2.2(来自apt的标准包).当我向服务器发送HTTP请求时,我得到以下内容:

$ nc localhost 80 < ~/Desktop/test.http
HTTP/1.1 200 OK
Date: Mon, 22 Nov 2010 00:32:02 GMT
Server: Apache/2.2.16 (Ubuntu)
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html

38
<html><body>Current IP Address: 127.0.0.1</body></html>

0
Run Code Online (Sandbox Code Playgroud)

我对此有点好奇.这些数字(38和0)是什么意思?我查看了我的日志,但我没有看到任何有意义的内容,我似乎无法找出谷歌的最佳搜索短语(如果我遗漏了文档中明显的内容,我很抱歉).我从telnet获得相同的结果(但Firefox似乎没有抛出任何类型的错误).

这是我的请求的内容(在末尾省略空格):

GET /test.html HTTP/1.1
HOST: example.com
Run Code Online (Sandbox Code Playgroud)

和我的脚本(test.html):

% my $ip = $r->connection->remote_ip();
<html><body>Current IP Address: <% $ip %></body></html>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

perl http apache2 mod-perl mason

2
推荐指数
1
解决办法
169
查看次数

为什么我的`my`变量不能在子内部访问?

我正在写一个Mason 1.x组件页面,它的表现并不像我期待的那样.perlsub手册页指示my变量应该在a中可访问sub.但是以下代码:

my @myOrderBy = @orderBy;
sub sortAll
{
  my $ret = 0;
  foreach my $sortStr (@myOrderBy)
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

给我错误:

编译/opt/rt4/local/plugins/RTx-Foo/html/cf/helpers/ticketQuery.ajx时出错:/ opt/rt4/local/plugins/RTx-Foo/html中没有变量"@myOrderBy" /cf/helpers/ticketQuery.ajx第206行.

(第206行是该foreach行)

相同的代码在非Mason上下文中正常工作.

perl scope mason

2
推荐指数
1
解决办法
542
查看次数

如何找出当前请求的HTTP方法?

我不知道如何使用Mason获取HTTP标头.我只知道$ m是Mason Request Class.

perl mason

2
推荐指数
1
解决办法
849
查看次数

perl命令'=>'和'='之间的区别

以下perl/mason命令之间的区别是什么.

$ test = $ test1; $ test => $ test1;

具体如何实例化在这里工作?

perl mason

1
推荐指数
1
解决办法
578
查看次数

这行perl代码是什么意思?

我有一个perl mason文件,其中一行看起来像这样:

$result = PI::Membership::Service->cancel(name => $name)
Run Code Online (Sandbox Code Playgroud)

这到底是什么意思呢?它是在调用另一个模块吗?它是面向对象的perl代码吗?

谢谢

perl module mason

0
推荐指数
1
解决办法
466
查看次数

标签 统计

mason ×8

perl ×8

mod-perl ×2

apache ×1

apache2 ×1

http ×1

module ×1

panic ×1

scope ×1

syntax ×1

validation ×1