小编gap*_*psf的帖子

6
推荐指数
2
解决办法
147
查看次数

perl6'做(文件)'等价

在perl5中,我曾经用'do(file)'来配置这样的配置文件:

---script.pl start ---
our @conf = ();
do '/path/some_conf_file';
...
foreach $item (@conf) {
    $item->{rules} ...
...
---script.pl end ---

---/path/some_conf_file start ---
# arbitrary code to 'fill' @conf
@conf = (
{name => 'gateway',
    rules => [
        {verdict => 'allow', srcnet => 'gw', dstnet => 'lan2'}
    ]
},

{name => 'lan <-> lan2',
    rules => [
        {srcnet => 'lan', dstnet => 'lan2',
         verdict => 'allow', dstip => '192.168.5.0/24'}
    ]
},
);
---/path/some_conf_file end ---
Run Code Online (Sandbox Code Playgroud)

Larry Wall的"Programming Perl"也提到了这种方法:

但是FILE对读取程序配置文件等内容仍然有用.手动错误检查可以这样做: …

perl6

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

Rakudo x86 32位预编译安装程序/二进制文件在哪里?

我想用Perl6/Rakudo编写我的程序,它必须在32位和64位操作系统(Windows和Linux)上运行.

但32位Rakudo安装程序将不再发布.

如何才能使用32位Rakudo Star安装程序?

32-bit rakudo perl6

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

如何使用STD.pm6语法解析Perl 6代码?

我想使用STD.pm6从Perl 6解析Perl 6代码的最小工作示例
运行这样的东西

use v6;
use STD.pm6;
my $j = slurp 'e:\src\perl6\valid-p6-script.p6';
my $o = STD::Grammar.parse($j);
say $o.perl;
Run Code Online (Sandbox Code Playgroud)

在调试器下给我绝对奇怪的输出:

e:\src\prg\perl6>c:\rakudo\bin\perl6-debug-m.bat -I. p6.p6
>>> LOADING p6.p6
>>> LOADING E:\src\prg\perl6\STD.pm6
Unhandled exception: ctxlexpad needs an MVMContext
   at gen/moar/m-CORE.setting:15136  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm::24)
 from gen/moar/m-CORE.setting:15250  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm:AT-KEY:95)
 from gen/moar/m-CORE.setting:4291  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm:postcircumfix:<{ }>:4294967295)
 from C:\rakudo/share/perl6/lib/Debugger/UI/CommandLine.pm:736  (C:\rakudo\share\perl6\lib\Debugger\UI\CommandLine.pm.mo
arvm::82)
 from gen/moar/m-CORE.setting:2826  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm:sink-all:168)
 from gen/moar/m-CORE.setting:10187  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm:sink:36)
 from C:\rakudo/share/perl6/lib/Debugger/UI/CommandLine.pm:730  (C:\rakudo\share\perl6\lib\Debugger\UI\CommandLine.pm.mo
arvm:unhandled:114)
 from C:\rakudo/share/perl6/lib/Debugger/UI/CommandLine.pm:721  (C:\rakudo\share\perl6\lib\Debugger\UI\CommandLine.pm.mo
arvm::25)
 from gen/moar/m-Metamodel.nqp:3586  (C:\rakudo\share\nqp\lib/Perl6/Metamodel.moarvm:enter:28)
 from gen/moar/m-CORE.setting:5190  (C:\rakudo/share/perl6/runtime/CORE.setting.moarvm:CALL-ME:57)
 from gen/moar/m-BOOTSTRAP.nqp:2749  (C:\rakudo/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::93)
 from gen\moar\stage2\NQPHLL.nqp:1425  (C:\rakudo\share\nqp\lib/NQPHLL.moarvm:command_eval:380)
 from src/Perl6/Compiler.nqp:59  (C:\rakudo\share\nqp\lib/Perl6/Compiler.moarvm:command_eval:93)
 from gen\moar\stage2\NQPHLL.nqp:1365 …
Run Code Online (Sandbox Code Playgroud)

parsing perl6

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

标签 统计

perl6 ×4

rakudo ×2

32-bit ×1

parsing ×1

portable-applications ×1