我希望能够为我的Perl程序创建Web前端.我对Perl有很多经验,并且我将大部分代码转换为由Chromatic支持的Modern Perl范例.我有写网页的ZERO经验.(偶尔会出现Word保存为网页).
我相信我知道开始使用哪些工具,我只是难以使用他们的开始文档以及学习工具的顺序.
Perl:我都在这里.
舞者:我创建了一个网站,但我很丢失,而cpan文档让我更加困惑.我不知道如何将这些网站与Apache集成,而不是使用Dancer附带的迷你服务器.
模板工具包:这个看起来最直接,我有O'Reilly的书.对于看似简单的东西来说,这似乎是一本非常大的书,所以我知道我错过了一些东西.
HTML:我应该学到多少钱?什么是最好的学习路径?
最终,最好的是"使用Perl从头开始构建现代网站"教程,书籍,视频系列或网站.
请问,从哪里开始?
我的Dancer app模块中有以下代码:
package Deadlands;
use Dancer ':syntax';
use Dice;
our $VERSION = '0.1';
get '/' => sub {
my ($dieQty, $dieType);
$dieQty = param('dieQty');
$dieType = param('dieType');
if (defined $dieQty && defined $dieType) {
return Dice->new(dieType => $dieType, dieQty => $dieQty)->getStandardResult();
}
template 'index';
};
true;
Run Code Online (Sandbox Code Playgroud)
我有一个名为Dice.pm的Moops类,如果用.pl文件测试它就可以正常工作,但是当我尝试通过Web浏览器访问它时,我收到以下错误:找不到对象方法"new"通过包"骰子"(也许你忘了加载"骰子"?).
我可以和Dancer一起做吗?
以下是Dice.pm的相关代码:
use 5.14.3;
use Moops;
class Dice 1.0 {
has dieType => (is => 'rw', isa => Int, required => 1);
has dieQty => (is => 'rw', isa => Int, …Run Code Online (Sandbox Code Playgroud) 我正在学习编写渐进式 Web 应用程序,所有示例都使用 html 文件。我更喜欢将 EJS 与节点服务器一起使用。是否可以缓存 ejs 以便可以在本地使用?
我宁愿不必键入我的ejs文件的每个字段名称。这是我想做的事情:
let html = null;
EJS.renderFile('./public/views/results.ejs', {JSON_OBJECT}, (err, str) => {
html = str;
});
Run Code Online (Sandbox Code Playgroud) 我正在写一个简单的骰子滚轴,我想将三个表单字段传递给Perl脚本,将它们压缩,然后将结果返回到同一页面.我有一切工作,除了相同的页面要求.
这可能吗?
我正在寻找类似于Java的解决方案,我可以创建具有相同名称但具有不同参数列表的方法.
例如
method makeDeposit() {
system("cls");
print "How much money do you want to deposit?: ";
chomp (my $amount = <STDIN>);
$self->insufficientFunds(0);
$self->balance($self->balance() + $amount);
$self->performBalanceInquiry();
return;
}
method makeDeposit(Int $amount) {
$self->insufficientFunds(0);
$self->balance($self->balance() + $amount);
$self->performBalanceInquiry();
return;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的类文件中有以下类型:
has 'cardNumber' => (is => 'ro', isa => 'Int', required => 1);
Run Code Online (Sandbox Code Playgroud)
我正在尝试执行以下操作:
foreach $_ (@accountsInfo) {
if ($_ =~ m/^$self->cardNumber()/) {
$self->pushing(split(/,/, $_));
$self->invokeAccount();
}
}
Run Code Online (Sandbox Code Playgroud)
但我不能让它正确测试.如果我在正则表达式斜杠中手动输入我正在寻找的数字,它可以完美地工作.你能帮我用一下cardNumber Type吗?
我有一个名为main的类,其方法名为setDate().在构造函数方法中,我放了一行:setInterval(main.setDate(), 10000)它只运行对象实例化的初始时间.如果我将该行作为尾调用放在setDate()方法中,它将无限运行并中断浏览器会话.