国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

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

2020-10-31 15:18:25
字體:
供稿:網(wǎng)友

復(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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 颍上县| 拜泉县| 庄河市| 鄂托克前旗| 抚顺市| 黄大仙区| 五家渠市| 和林格尔县| 张家港市| 五原县| 兴安县| 湟中县| 辉县市| 马公市| 武乡县| 顺义区| 金塔县| 甘孜| 淳化县| 盐津县| 鲜城| 井冈山市| 射阳县| 布尔津县| 广宁县| 嘉义市| 塔河县| 阳江市| 三门峡市| 赞皇县| 万全县| 浮梁县| 嘉鱼县| 繁昌县| 静乐县| 米脂县| 六安市| 福建省| 六安市| 六安市| 南康市|