非Web程序员的Web编程(在Perl中)

时间:2011-08-21 20:44:24

标签: perl

我希望在Perl中启动Web编程(Perl是我所知道的唯一语言)。问题是,我没有任何关于网络的知识,除了浏览它。我不知道从哪里开始。

所以我的问题是......

我从哪里开始学习网页编程?我应该知道什么?我该怎么用?

我提前感谢所有人的回答和帮助。

3 个答案:

答案 0 :(得分:15)

要理解的关键事项是:

您可以发送给浏览器的内容

...或者更确切地说,您打算发送给浏览器的内容,但是了解其他内容是有用的(因为,特别是在复杂的Web应用程序中,您需要选择适当的数据格式)。

e.g。

  • HTML
  • CSS
  • 的JavaScript
  • 图片
  • JS​​ON
  • XML
  • PDF文件

当您动态生成数据时,您还应该了解可用的工具(例如,Perl社区强烈希望TT生成HTML,但还有其他选项,例如Mason,而JSON::Any往往是我对JSON的支持。

运输机制

  • HTTP(包括要使用的状态代码以及何时,如何进行重定向,使用何种方法(POST,GET,PUT等)以及何时使用)。
  • HTTPS(带SSL加密的HTTP)

如何让网络服务器与您的Perl交谈

  • PSGI/Plack如果你想要现代和高效的
  • CGI非常简单
  • mod_perl如果你想要疯狂的权力级别(我看到有人将Apache HTTPD转换为使用它的SMTP垃圾邮件过滤器)。

安全

如何防范malicious input(基本上归结为知道如何以一种格式(例如提交的表单数据)获取数据并将其转换为另一种格式(例如HTML或SQL)。

网络框架

您可以将大量工作推向框架,这些框架提供了组织Web应用程序的结构化方法。

  • Web::Simple很简单
  • Dancer似乎占据了中间地位(虽然我必须承认我还没有机会使用它)。
  • Catalyst可能有最陡峭的学习曲线,但附带了很多力量和插件。

答案 1 :(得分:2)

根据项目的复杂程度,您可以查看Catalyst MVC。这是一个很好的框架,搞乱了大多数请求的东西,但是在深入视图中为你提供了足够的 是什么。

CPAN

中有一个很好的教程

如果你想从mod_perl或CGI开始,还有一些教程:

答案 2 :(得分:1)

如果您想在Perl中尝试一些网络编程,可以尝试在Dancer免费托管OpenShift Express应用。

甚至还有一个“OpenShift Express上的舞者”回购来帮助你入门:https://github.com/openshift/dancer-example