Perl学习总结

691 篇文章 11 订阅 ¥99.90 ¥299.90
这篇博客总结了Perl的学习心得,包括Perl教程的内容,深入探讨了如何使用Perl执行常见的编程任务,特别是Perl在书写报表方面的格式化技巧。
摘要由CSDN通过智能技术生成

Perl 教程



Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言"。
Perl 是高级、通用、直译式、动态的程序语言。
Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表。
Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。
Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。
谁适合阅读本教程?
本教程适合想从零开始学习 Perl 编程语言的开发人员。当然本教程也会对一些模块进行深入,让你更好的了解 Perl 的应用。
学习本教程前你需要了解
在继续本教程之前,你应该了解一些基本的计算机编程术语。如果你学习过PHP,ASP等其他编程语言,将有助于你更快的了解 Perl 编程。
第一个 Perl 程序
对于大多数程序语言,第一个入门编程代码便是"Hello World!",以下代码为使用 Perl 输出"Hello World!":
实例
#!/usr/bin/perl 


print "Hello, World!\n";
========

Perl:执行最常见的编程任务(1)

http://developer.51cto.com/art/201009/224638.htm
文章将介绍Perl的基础知识,一旦您掌握了Perl的相关知识,使用起来就会非常简单。在本文中,我们将首先介绍如何使用Perl执行最常见的编程任务。


Perl是一种非常简单、应用广泛且反响很好的脚本语言。它可用于各种任务(例如,您可以使用它创建DOS批处理文件或C外壳脚本的等效文件),但在网络开发环境中,它用于开发CGI脚本。


由于Perl是一种脚本语言,所以使用它的一个好处就是可以分发程序的源代码。这就为您提供了学习Perl的机会,您也可以下载和修改数千个Perl脚本,以供自己使用。Perl的缺点之一就是,多数的免费代码都难以理解。这使Perl自身成了一种神秘的语言类型!


本文假定您已经知道如何编程(如果您了解C语言,这对您将非常简单)。一旦掌握了有关Perl的基础知识,使用起来就会非常简单。在本文中,我们将首先介绍如何使用Perl执行最常见的编程任务。阅读本文后,您将可以相对轻松地编写自己的Perl脚本,还可以轻松地读取其他人编写的含义模糊的脚本,这将是一个好的开始。


要启用Perl,您需要有Perl解释程序。在任何装有UNIX的计算机上,99.99%的都已安装了Perl解释程序。在装有Windows或Mac计算机上,您需要下载最新的语言版本并将其安装到计算机上。您可从网上轻松下载Perl,并且是免费的。


接下来,请确保查看Perl附带的DOCS目录,其中会有类似用户手册的资料。如果您已加载了Perl,请确保已正确设置了路径以包含Perl的可执行文件。然后,打开文本编辑器并创建一个文本文件。在文件中,输入以下行:


print "Hello World!n"; 
将文件命名为“test1.pl”。在命令提示符下键入:


perl test1.plPerl 
将运行并执行文本文件中的代码。您应该会看到词语“Hello World!”打印到标准输出中。正如您所看到的,在Perl中创建和运行程序都非常简单。(如果使用的是UNIX,您可以在第一行中输入一段注释,如#!/usr/bin/perl,那么以后您就不需要在命令行键入单词“perl”了。)


print命令会将内容打印到标准输出中。符号n是换行符。如果您将测试程序修改成以下形式会更清楚(#表示一段注释):


# Print on two lines   
print "HellonWorld!n"; 
请注意,打印命令知道它应该将“n”解释为换行符而不是文字字符这并不是由于打印命令拥有智能,而是因为使用了双引号(在Perl中实际称为引用)。如果您用单引号代替双引号,例如:


print 'HellonWorld!n'; 
则不会对字符n进行解释,而是用文字代替。


还有反引号字符:`。一对反引号表示引号内的字符应被识别为一个操作系统命令,并且该命令与您输入的命令一并执行。如果您试图将操作系统的命令行操作置于反引号内,则将执行该命令。例如,在Windows NT系统中,您可以使用:


print 'cmd /c dir'; 
========

Perl格式 - 书写报表

http://www.yiibai.com/perl/perl_format.html
Perl格式书写报告编程教程,例子教程,参考手册和代码 - 如前所述Perl代表着实际提取和报告语言,我们将讨论如何使用Perl来编写报告。


如前所述Perl代表着实际提取和报告语言,我们将讨论如何使用Perl来编写报告。


Perl使用写作模板,所谓的“格式”输出报告。要使用格式的Perl特性,你必须:


定义格式
传递数据将被显示在格式中
调用格式
定义格式
以下是语法来定义一个Perl的格式


    format FormatName =
    fieldline
    value_one, value_two, value_three
    fieldline
    value_one, value_two
    .
FormatName表示的格式的名称。Fieldline是应该被格式化的具体数据。线条表示值,将被输入到的磁力线,与一个句点结束的格式。


Fieldline可以包含任何文本或fieldholders。Fieldholders保持空间的数据将置于在稍后的日期。fieldholder有一个格式:


@<<<<
fieldholder是左对齐,用5空格空间。知道有多少在该字段的空格,您必须自行计算@符号和<的大小。其它字段中持有包括:


@>>>> right-justified
   @|||| centered
   @####.## numeric field holder
   @* multiline field holder
一个例子的格式是:


   format EMPLOYEE =
   ===================================
   @<<<<<<<<<<<<<<<<<<<<<< @<< 
   $name $age
   @#####.##
   $salary
   ===================================
   .
在这个例子中$的名字将被写为左对齐在22个字符的空格和年龄后,在两个空格空间将被写入。


调用格式写入数据
为了调用此格式的声明,我们将使用写关键字:


write EMPLOYEE; #send to the output


问题是,格式的名称通常是一个打开的文件句柄的名字,并写语句将输出发送到这个文件句柄。我们要发送的数据到stdout,我们必须联合起来,并在输出文件句柄的EMPLOYEE。首先,我们必须确保,STDOUT是我们的选择的文件句柄,使用select()函数。


select(STDOUT);
然后,我们将通过设置新的格式名称STDOUT与STDOUT关联EMPLOYEE,使用特殊的变量$〜。


$~ = "EMPLOYEE";
我们现在做的一个write()时,数据将发送给STDOUT。请记住:如果你没有STDOUT设置为默认的文件句柄,你可以恢复到原来的文件句柄分配的返回值,选择一个标量值,使用选择这个标量变量的特殊变量后,被指定的格式命名,名称相关联STDOUT。


上面的例子会产生一个报告按以下格式:


Kirsten              12
   Mohammad             35
   Suhi                 15
   Namrat               10


定义报表表头
一切都看起来很好。但是,如果你想在报告中添加一个头。这头将被打印在每个页面的顶部。它也非常简单的做到这一点。除了自定义一个模板,你必须定义一个报头,它具有相同的名称,但附加_TOP关键字如下:


 format EMPLOYEE_TOP =
   ------------------------
   Name                 Age
   ------------------------
   .
   # by www.yiibai.com


现在,您的报告将看起来像:


------------------------
   Name                 Age
   ------------------------
   Kirsten              12
   Mohammad             35
   Suhi                 15
   Namrat               10
在页面上定义一个分页的行数
如果您的报告采用超过一页怎么办?你有一个解决方案。使用$%报头如下


format EMPLOYEE_TOP =
   ------------------------
   Name                 Age   Page @<
   ------------------------        $%
   .
现在,您的输出将类似于:


------------------------
   Name                 Age   Page 1
   ------------------------    
   Kirsten              12
   Mohammad             35
   Suhi                 15
   Namrat               10
您可以设置每页的行数默认情况下使用特殊的变量$=($ FORMAT_LINES_PER_PAGE)$=60


定义报表页脚
剩下最后要做一件事是页脚,与报头非常相似,你可以定义一个页脚,它会被写入后的每一页。在这里,你会使用_BOTTOM关键字,而不是_TOP。


   format EMPLOYEE_BOTTOM =
   End of Page @<
               $%
   . #by www.yiibai.com
这会给你下面的结果:


------------------------
   Name                 Age   Page 1
   ------------------------    
   Kirsten              12
   Mohammad             35
   Suhi                 15
   Namrat               10
   End of Page 1
对于一个完整的一套相关的格式化的变量,请参考 Perl特殊变量部分。
========
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值