现在的位置: 首页 > 综合 > 正文

perl的helloworld

2013年08月04日 ⁄ 综合 ⁄ 共 2259字 ⁄ 字号 评论关闭

perl教程

http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm

perl入门

http://developer.51cto.com/art/201009/224638.htm

学习perl一 helloworld
**********************************************
简单介绍:
Perl是一种脚本语言.追求的是简单, 解决一个一般的问题用它几行代码就完成了. 一个稍复杂一点的问题代码也不会超过一屏! 很强大,优点很多.

缺点:太灵活性(优点&缺点),“过度”的冗余语法,许多Perl程序的代码令人难以阅读,实现相同功能的程序代码长度可以相差十倍百倍。不过Perl同样可以将代码书写得像Python或Ruby等语言一样优雅。

要启用Perl,您需要有Perl解释程序。在任何装有UNIX的计算机上,99.99%的都已安装了Perl解释程序。在装有Windows或Mac计算机上,您需要下载最新的语言版本并将其安装到计算机上。您可从网上轻松下载Perl,并且是免费的。 在Linux 系统下、大部分类UNIX 系统(包括Mac OS X),perl是随系统安装的,可在命令行终端输入命令perl -v,查看版本,对于Windows有两种版本可用:Strawberry Perl 与 ActivePerl
**********************************************
第一个helloword的编写:
新建一个文本文件 hello.pl在里面写一行语句:
print "Hello World!";
然后在命令行执行 perl hello.pl
如果是在unix下编程,更方便:
新建一个文本文件 hello.pl 在里面写:
#!/usr/local/bin/perl
print "Hello World!";
然后直接执行hello.pl就ok
初步认识:
转义字符\t \n ..等和c、java的一样
#打印后换行 
print "Hello World\n"; 
以#开头为注释行

直接打印HellonWorld\n  ''内的字符会原样打印
print 'HellonWorld\n';

**********************************************
零碎知识

一对反引号表示引号内的字符应被识别为一个操作系统命令,该命令与输入的命令一并执行
print `cmd /c dir`;

变量定义,以$号开头
$num =1;   

数组定义,以@开头
@array = (1,2,3);   
数组元素调用 $array[index],其中index表示数组下标
$array[0]的值是1   

散列定义,以%开头
%hash=("a",1,"b",2); 
散列调用 %hash,其中keys表示键值,多用字符串表示,注意hash的key必须具有唯一性,但value可以不唯一,为此hash的key经常被用来做唯一化处理,如上例中的"a", "b", values是keys对应的值,如1,2。$hash{"b"}的值是2。

==可表示两个变量或值是否相等 同理 <= != >= < > 和c一样
print "input a number(number between {1,0}):";
#getc读取一个字符  或用read(STDIN, $i, 1); 第三个参数中的1是要读取的输入数据的长度
$x= getc(STDIN); 
print "\nyou have input a number:",$x;
if($x>1||$x<0){
print "\nerror";
}

数据类型:整形 浮点型 字符串

整型,与其它语言基本相同,PERL实际上把整数存在浮点寄存器中,所以实际上被当作浮点数看待。在多数计算机中,浮点寄存器可以存贮约16位数字,长于此的被丢弃。整数实为浮点数的特例。
$a=123456789123456789123456789;
print $a;
打印1.23456789123457e+026

8进制以0打头,16进制以0x打头。
$var1 = 047; (等于十进制的39)
$var2 = 0x1f; (等于十进制的31)

浮点数 如 11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03
浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。指数的范围通常为-309到+308。

字符串 惯用C的程序员要注意,在PERL中,字符串的末尾并不含有隐含的NULL字符,NULL字符可以出现在串的任何位置
单引号字符串与双引号字符串有两个区别,一是没有变量替换功能,二是反斜线不支持转义字符,而只在包含单引号和反斜线时起作用。单引号另一个特性是可以跨多行,如:
  $text = 'This is two
  lines of text
  '; 
  与下句等效:
  $text = "This is two\nlines of text\n"; 
.字符串和数值的互相转换
  例1:
  $string = "43";
  $number = 28;
  $result = $string + $number; # $result = 71
  若字符串中含有非数字的字符,则从左起至第一个非数字的字符,如:
  $result = "hello" * 5; # $result = 0
  $result = "12a34" +1; # $result = 13

.变量初始值
  在PERL中,所有的简单变量都有缺省初始值:"",即空字符。但是建议给所有变量赋初值,否则当程序变得大而复杂后,很容易出现不可预料且很难调试的错误。

抱歉!评论已关闭.