`
sillycat
  • 浏览: 2542971 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Perl Language(VII) Web Programming

阅读更多
Perl Language(VII) Web Programming

16. Perl and Web
CGI (Common Gateway Interface)   -----> FastCGI ------> Apache mod_perl

16.1 CGI
use CGI;

my $q = CGI->new;
$h = $q->header(-charset => 'utf-8',
        -type => 'text/html');
print $h . "\n";
my $user = $q->param('user');
print $user

console output:
Content-Type: text/html; charset=utf-8

my @params = $q->params();

$q->redirect('http://url.you.want/');

print $q->textfield( -name=>'field',
                     -default=>'default value');

error message:
if ($q->cgi_error) {
   print "無法處理CGI程式";
   print $q->cgi_error;
}

use CGI;
my $q = CGI->new;
my $cookie = $q->cookie('cookie_name');

$cookie = $q->cookie( -name=>'cookie_name',
                      -value=>'value',
                      -expires=>'+1h',
                      -domain=>'.my.domain',
                      -secure=>1);
print $q->header( -cookie=>$cookie);

16.2 Template
first of all, we need to install tempalte module in cpan
cpan>install Template

use Template;

my $config = {
    INCLUDE_PATH => '/template/path',
    EVAL_PERL    => 1,
};

my $template = Template->new($config);

my $replace = "var put in template";
my $vars = {
    var  => $replace,
};

my $temp_file = 'template.html';
my $output;
$template->process($temp_file, $vars, $output)
    || die $template->error();

But there is one error in apache error.log file:
[Wed Apr 27 19:28:05 2011] [error] [client 127.0.0.1] malformed header from script. Bad header=<html>: Action.pl

I fix this problem:
print "Content-Type: text/html\n\n", $output;
$template->process($temp_file, $vars, $output)
    || die $template->error();

foreach
[% FOREACH grade = grades %]
Price:[% grade %]
[% END %]

Perl code
[% PERL %]
   # perl  code
   ....
[% END %]

[% INCLUDE copyright.html %]

copyright.html file content is:
<p>here is footer by sillycat</p>

[% IF condition %]
   ....
[% END %]

or

[% IF condition %]
   ....
[% ELSE %]
   ....
[% END %]


[% IF condition %]
   ....
[% ELSIF condition2 %]
   ....
[% ELSE %]
   ....
[% END %]


[% UNLESS condition %]
   ....
[% END %]

16.3 Mason


references:
http://easun.org/perl/perl-toc/
http://perl.apache.org/
http://www.4webhelp.net/tutorials/cgi/env_vars.php
http://www.cgi101.com/class/ch3/text.html


分享到:
评论

相关推荐

    The Perl Programming Language

    本文将深入探讨Perl的基础知识及其在网络与Web开发中的应用,并通过具体的示例代码进行讲解。 #### 二、Perl简史 Perl最初由Larry Wall于1987年开发,旨在创建一种更加人性化的脚本语言,用于文本处理和报告生成。...

    Perl语言编程:Programming Perl

    ### Perl语言编程:《Programming Perl》 #### 书籍概述 《Programming Perl》是一本由Larry Wall、Tom Christiansen和Jon Orwant共同撰写的经典Perl编程指南。这本书详细介绍了Perl语言的基础知识、高级特性以及...

    Using Perl For Web Programming.pdf

    Web Programming David Harlan, et al. CONTENTS Chapter 1 Perl Overview Perl Origins H Borrowings H Cost and Licensing H Distribution H G Perl Programs Invocation H Command-Line Arguments H ...

    Perl Language Reference Manual

    Perl语言参考手册是Perl编程语言的权威文档,提供了关于Perl版本5.12.1的详细信息,这本手册由Perl的创始人Larry Wall和团队编写,并由Network Theory Ltd出版。Perl作为一种高级、通用、解释型、动态编程语言,自...

    实用的Perl编程Practical Perl Programming

    为加的夫大学的学生提供的课程笔记汇编包括从入门到高级应用。

    Web.Client.Programming.with.Perl.Automating.Tasks.on.the.Web.pdf

    Web Client Programming with Perl is a behind-the-scenes look at how your web browser interacts with web servers. Readers of this book will learn how the Web works and how to write software that is ...

    Learning Perl Intermediate Perl Mastering.Per Programming Perl 4本合集 英文 非扫描版

    Perl 一般被称为“实用报表提取语言”(Practical Extraction and Report Language),你也可能看到“perl”,所有的字母都是小写的。一般,“Perl”,有大写的 P,是指语言本身,而“perl”,小写的 p,是指程序...

    使用Perl进行Web客户端编程Web Client Programming with Perl

    讲解浏览器如何与服务器通信以及如何编写自己的自定义Web客户端以自动执行常见任务的基础知识。

    Programming_Web_Services_with_Perl

    Programming_Web_Services_with_Perl, SOAP,XML-RPC,HTTP......

    perl by example && Beginning perl for Bioinformatics && Mastering Perl for Bioinformatics && Programming Perl && Apply Perl

    perl by example && Beginning perl for Bioinformatics && Mastering Perl for Bioinformatics && Programming Perl && Apply Perl && Perl语言编程 && Perl 语言入门 等书,都是PDF版,3本中文,其余都是英文。

    programming perl 网页版

    9. 综合应用:除了基础语法和概念,书中还包含了许多实际编程示例,涵盖了Web开发、系统管理、网络编程等多个领域,帮助读者将Perl知识应用到实际项目中。 总之,《Programming Perl》第三版是Perl学习者的宝贵资源...

    Perl语法(web版).rar

    "Perl语法(web版).rar" 是一个专门为那些对Perl语言感兴趣的人准备的资源,它提供了详细的Perl语法参考,帮助初学者和进阶者理解并掌握这一语言的核心概念。 Perl的语法结构在很多方面与C语言类似,但同时也引入了...

    Effective Perl Programming 2nd

    《Effective Perl Programming 第二版》是一本专注于提升Perl编程技能的专业书籍,由Joseph N. Hall、Joshua A. McAdams和briand foy共同撰写。本书属于The Effective Software Development系列,该系列由著名软件...

    Programming Perl中文版

    Perl是一种广泛使用的高级编程语言,尤其适用于文本处理、系统管理任务以及Web开发等领域。本书以其详尽的内容和易于理解的示例,成为学习Perl的理想选择。 #### 二、Perl语言的基本概念 - **变量类型:** - 标量...

    programming perl 中文版

    - **网络编程**:编写CGI脚本来处理Web请求,或进行网络管理。 - **文本处理**:分析和转换日志文件、数据库和文档。 - **生物信息学**:处理DNA序列和其他科学数据。 - **金融领域**:用于数据分析和脚本编写,甚至...

    CGI Programming with Perl

    Perl,全称 Practical Extraction and Reporting Language,是一种灵活且功能丰富的文本处理语言。它的语法相对自由,适合处理各种数据格式,尤其是文本文件。Perl中的变量声明无需类型,可以动态地改变变量类型,这...

    Advanced Perl Programming, 2nd Edition

    《Advanced Perl Programming, 2nd Edition》是一本深入探讨Perl编程技术的专业书籍,适用于已经掌握基础Perl编程并希望提升到更高层次的读者。这本书详细介绍了如何利用Perl进行高效且复杂的编程任务,帮助开发者...

    Advanced Perl Programming

    Advanced Perl Programming

    Advanced.Perl.Programming.2nd.Edition

    书中涵盖了文件读写、目录操作以及网络通信的基础知识,同时还介绍了如何利用Perl进行Web编程,包括CGI脚本和mod_perl的应用。 #### 错误处理与调试 错误处理机制和调试技巧是任何高级程序员必备的技能,本书提供...

    Programming Perl

    Perl是一种强大的文本处理语言,最初设计时主要针对系统管理任务,后来广泛应用于Web开发、脚本编写、数据分析等多个领域。Perl的灵活性和表达力使其在处理文本、正则表达式以及处理文件I/O等方面表现出色。 "camel...

Global site tag (gtag.js) - Google Analytics