亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

perl的格式化輸出及chomp的重要性分析

 更新時間:2013年02月09日 22:14:53   作者:  
perl格式化輸出的一個例子,使用了chomp,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

#!/bin/perl
print "please input some lines,then press Ctrl+Z. \n"; 
chomp(@s=<STDIN>); 
print "1234567890"x 3 ."\n";#做為輸出結(jié)果的一個標(biāo)尺 
foreach $s(@s) 

printf "%20s\n",$s;#輸出的格式為右對齊,所占空間為20個字符 
}

輸出結(jié)果:
F:\>perl\a.pl 
please input some lines,then press Ctrl+Z. 
how are you 
fine,thank you 
^Z 
123456789012345678901234567890 
 how are you#u在第20個字符處 
  fine,thank you

#------------------------

沒有chomp的程序:

復(fù)制代碼 代碼如下:

#!/bin/perl

print "please input some lines,then press Ctrl+Z. \n"; 
@s=<STDIN>; 
print "1234567890"x 3 ."\n"; 
foreach $s(@s) 

printf "%20s\n",$s; 
}

輸出結(jié)果:
F:\>perl\a.pl 
please input some lines,then press Ctrl+Z. 
how are you 
fine,thank you 
^Z 
123456789012345678901234567890 
how are you#u在第19個字符處 

 fine,thank you

來觀察下有什么不同,如果沒有用chomp,輸出的結(jié)果不僅中間有空格,并且可以發(fā)現(xiàn)最后的字符卻在第9上,相當(dāng)于在第19個字符處。這是因為perl把a newline 當(dāng)做一個字符。

第二部分:

如果我們自己指定字符串的寬度,那么程序如下:

復(fù)制代碼 代碼如下:

#!/bin/perl
print "Please input column width.\n"; 
chomp($width=<>);#新建了一個變量。這里同樣要注意chomp的應(yīng)用,如果沒有chomp,我們會得不到我們想要的結(jié)果。 
print "please input some lines,then press Ctrl+Z. \n"; 
chomp(@s=<STDIN>); 
print "1234567890"x7 ."\n"; 
foreach $s(@s) 

printf "%${width}s\n",$s;在這里引用了這個變量,因為變量名默認(rèn)取最大的字符長度,所有這里我們用{}來界定變量的名稱。 
}

輸出結(jié)果:
F:\>perl\a.pl 
Please input column width. 
30 
please input some lines,then press Ctrl+Z. 
how are you 
fine,thank you 
^Z 
1234567890123456789012345678901234567890123456789012345678901234567890 
   how are you 
fine,thank you

下面是沒有width=<>,沒有經(jīng)過chomp的話,會出現(xiàn)如下結(jié)果:
F:\>perl\a.pl 
Please input column width. 
30 
please input some lines,then press Ctrl+Z. 
how are you 
fine,thank you 
^Z 
1234567890123456789012345678901234567890123456789012345678901234567890 
%30#這里的30因為沒有去掉轉(zhuǎn)行符,所有是30+轉(zhuǎn)行符,得到了這種結(jié)果 

%30 
s

相關(guān)文章

最新評論