在我同事的计算机上安装 Perl 6,...
这可能会使事情变得更糟,而不是更好。
鉴于您陈述的详细信息,...
我同意。
制作程序的[a]变体(使用JS等),以便我的同事可以在浏览器窗口中输入参数并获得结果。
这是 imo 的自然选择。
(请注意,我在引用您的话时省略了“在线”。如果您的同事能够通过内部网络看到您的计算机,那么您仍然可以做一个 JS/Web 解决方案,但做一个不公开的解决方案 - 不在线。基本上做相同的解决方案,但使用略有不同的服务器管道。)
另一种方法是接受结构化电子邮件。更多关于这在适当的地方。
我更喜欢使用 Perl 6 ...
在 Web 解决方案中使用非 JS 语言代码的最常见方法是在解决方案的“前端”中仍然使用 html 等,通常包括 JS,然后包括在服务器上运行的代码调用作为“后端”。
(另一种方法是转译为 JS。理论上,您可以通过实验性 nqp 后端将 Perl 6 转译为 JS 。我认为这是一个令人兴奋的发展,但我怀疑它在短期内会很慢且受到限制。)
(本节的最后一点。如果您最终将 Perl 6 转换为 JS 解决方案,因为您不想学习或处理混合使用的服务器,那么您将使用 Perl 6 作为原型语言。这可能是使用语言的合法方式,但此答案的其余部分假设您将引入服务器。)
介绍和管理服务器
服务器是由于“客户端”(通常是其他计算机)的请求而可靠地保持可用并按需运行软件的计算机或软件。
这听起来很简单,在某些方面确实如此,但在其他方面并非如此。如果有人关掉电源怎么办?或未能支付互联网账单?还是软件泄漏内存导致系统周期性故障?还是黑客攻击并进入?
除非那些使用该服务的人已经可以通过本地网络看到服务器计算机,而且通常情况下,将服务器引入解决方案的现代方法是购买在线服务器包(通常是基于虚拟化的)。(想想每月几美元及以上。)假设一个体面的服务提供商,这有效地保证了它会是一个运行良好的服务器,通常保持运行、工作、连接和服务,除非它被黑客入侵或以其他方式损坏,并且如果后者发生,您会及时得到通知。“零成本”的替代方案是让您的桌面也成为服务器。这意味着您有责任保持您的桌面正常运行和连接。
管理服务器的一种现代方法是在服务器之上使用Docker或类似方法。这有效地保证了您几乎可以立即修复运行良好的服务器的问题,如果它被黑客入侵或以其他方式损坏。它还使您可以轻松地拥有一个本地服务器,您可以在该服务器上进行开发和测试,并保证与部署的生产服务器相同。最重要的是,在您的桌面上安装 Docker 或在购买的服务器上使用它,然后放入已经准备好的 docker 文件,这意味着您可以从从未使用过服务器变为拥有工作服务器,只需单击一下即可几个按钮。
有一系列产品同时使用操作系统虚拟化和 docker 或类似 docker 的技术来创建按使用付费的组合,您只需为服务器的使用时间付费,而不是为它 24/7 的可用时间付费。有很多来龙去脉。有些不支持 Perl 6。据我所知,亚马逊 AWS和谷歌云都支持按使用付费并允许使用任何编程语言。
构建 Web 应用程序
这个答案的最后几节介绍了一旦你有一个服务器,如何使用 Perl 6,从最不复杂的开始。如果您想直接使用我推荐的解决方案,请跳到关于 Cro 的最后一部分,如果您使用网络路由。
电子邮件客户端响应者
特别是如果您不想将钱花在单独的服务器上,为了简化一些事情,您可以让您的同事将结构化的电子邮件发送到一个电子邮件地址,该地址到达您在桌面上运行的电子邮件客户端,它会响应通过在您的桌面上运行 Perl 6 程序,然后在结果出现时通过电子邮件将它们发回。如果您对此解决方案感兴趣,请发布另一个 SO 询问它。
其余部分采用 Web 解决方案。
CGI 和手卷代码
从网页调用在服务器上运行的代码是微不足道的。
您只需编写一个合适的链接以单击该链接指向动态程序而不是静态 html 页面。
如果你想收集参数,那么你只需编写一个表单和一个合适的提交按钮,然后这样做。
给定一个已经编写好的表单的现有网页,如果您阅读了适当的文章,例如如何使用 CGI 脚本生成网页,您可以在几分钟内了解如何传递参数、调用 Perl 6 代码并显示结果。
模块和委托人
Imo 不值得在手卷 CGI 这么低的水平上做事。这样做是有危险的,并且有一些模块可以使创建和维护事情变得更容易,更不危险。
这些将出现在 modules.perl6.org 的“web”下。
Bailador 显然是一个基本解决方案的选择,该解决方案在“路由”(将 URL 映射到代码)和模板方面做得不错。
Cro和SPA
如果您有兴趣使用最基本的自然方法来构建现代网站,我建议您使用 Cro。Cro 使使用SPA方法构建简单的 Web 解决方案变得轻而易举。但它的设计目的是使用 Perl 6 中内置的特性来很好地扩展到可以想象的最复杂的网站,这些网站涉及异步、并发、并行或分布式处理的任何混合以及您希望引入的任何中间件。
正如您在 OP 中建议的那样,对于这样一个非常微不足道的应用程序来说,Cro SPA 可能是矫枉过正,但它仍然非常简单,选择它有无数的好处,而且对您的应用程序没有明显的缺点。(即使它作为 beta 产品的官方身份也适合您的场景 imo。它已经是一个非常可靠的产品,开发人员可以快速响应提出的任何问题,并且对于这些开发人员和 Perl 6 来说,它保持干净、快速都具有战略意义,值得生产,并且维护良好。)
完成整个设置以便您可以开始使用 Cro 的最快方法可能是安装 Docker(如果您的服务器(或桌面,如果您将其用作服务器)上没有它),然后安装croservices /cro-http Docker 容器。
学习如何使用 Cro 交付单个网页的最快方法是遵循使用 Cro构建单页应用程序教程。