perl学习笔记

如果在qq或q运算符中以偶数对的形式使用这些界限符,就不必使用反斜杠转义符:

q可以使用转义字符,单引号‘ ’不能。

如果P e r l不能清楚地指明变量名在何处结束和字符串的其余部分从何处开始,那么可以使

用花括号将变量名括起来。

自动递增对最后一位增加一(like…)

自动递减运算符并不像上面那样对字符串进行递减。

c h o m p运算符能够删除它的参数结尾处的任何换行符。它返回被删除的字符数,这个数字

通常是1,但是,有时如果没有字符需要删除,那么返回的是0

关于数字和字符串的说明:

如果某个元素看上去是个数字,那么P e r l在需要数字时可以将它用作数字

如果某个元素看上去是个数字,那么当P e r l需要一个字符串时,它可以使用数字的字符

串表示法:

如果某个元素看上去不像一个数字,但是你将它用在需要数字的地方,那么P e r l在它的

位置上使用0这个值:

Printf

Perl一个和我很像的风格,if只有一句话也用大括号,呵呵。因为他是个block

> < =  只能用于数字比较 eq ne lt 等用于字符串

大多数标点符号放在最前面,然后是数字,接着是大写字母,最后是小写字母

x&&y 的结果是y

运算符|| 和o r并不完全相同。它们的差别在于|| 的运行优先级要高于or。

如果在if语句块中只有一个表达式,那么该表达式实际上可以放在if语句的前面。

可以用3种方法来表示列表数据,它们是列表、数组和哈希结构。列表是列表数据最简单的表示方法,它们只是一个标量的组合。有时它们使用一组括号将标量括起来,各个标量之间用逗号隔开。(2,5,$ a,“B o b”)若要将一个列表存放在一个变量中,需要一个数组变量。

关于数组的一个问题

@array=(1,2,3,4,5);

print @array;

的结果是输出12345

print @array."test";

输出5test

为什么?

加以引号就输出正常了

P e r l有一个非常有用的能够对列表进行操作的运算符,称为范围运算符。用一对点..

@array = ( 1, 2, 3, 4, 5 );

#print @array . "\n";

#print $array[3];

#$a    = "test";

@test = ("test", "a", "c", "b");

#print @test;

#print "\n";

#for ( $j = 0 ; $j < 4 ; $j++ ) {

#   print $test[$j]."\n";

#}

print length(array);

@array=@test;

print length(array);

for($i=0;$i<(length(array));$i++)

{

    print $array[$i]."\n";

}

把一个数组赋给另一个数组,其原来的大小不变。

哪怕原来的小,其大小不会增加,但是可以全存进去!

(注:此句话错误,求数组大小 $#arrayname)

@array = ( 1, 2, 3, 4, 5 );

#print @array . "\n";

#print $array[3];

#$a    = "test";

@test = ( "test", "a", "c", "b" );

#print @test;

#print "\n";

#for ( $j = 0 ; $j < 4 ; $j++ ) {

#   print $test[$j]."\n";

#}

print "@test"."\n";

print length(test)."\n";

@test = @array;

print length(test)."\n";

#for ( $i = 0 ; $i < ( length(test) ) ; $i++ )

#{

#   print $test[$i] . "\n";

#}

print "@test";

什么是文件结尾呢?当P e r l读取来自终端的全部输入且你完成P e r l数据的输入时,你必须发出通知。为此通常键入一个End of File(文件结束)字符(E O F)。该字符随着你使用的操作系统的不同而各有差别。在U N I X下,该字符通常是在一行的开头使用C t r l + D。在M S _ D O S或者Wi n d o w s系统上,该字符是在输入的任何位置两次使用C t r l + Z。

注:在cmd下,输入一次即可。在eclipse下,没有回车确认 不会输出。

在一个f o r e a c h循环中,迭代器并不只是设置为列表中的每个元素的值,它实际上是对列表的元素的引用

S o r t函数将一个列表作为它的参数,并且大体上按照字母顺序对列表进行排序,然后该函数返回一个排定顺序的新列表。原始数组保持不变第四学时,最后的程序没有实验

文件句柄貌似只能读取一次

open(MYFILE,"E:/Eclipse-workspace/eclipse-java/testEPIC/test.dat")|| die;

#print "this is $!\n";

#close(MYFILE);

while(<MYFILE>)

{

    chomp;

    print;

}

@testhandle=<MYFILE>;    #can be read only once

print "@testhandle\n";

print "the end\n";

你可能感兴趣的:(perl)