如果在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";