亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? perl10.htm

?? Perl-5中文教程,Perl對(duì)于許多人來說可能不是很了解
?? HTM
?? 第 1 頁 / 共 2 頁
字號(hào):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title>Perl教程之 格式化輸出</title>
<LINK rel="stylesheet" href="article.css" type="text/css">
</head>
<body>
<br>
<p align="center"><strong>第十章 格式化輸出</strong></p>

<p align="center"><a target="_blank" href="http://flamephoenix.126.com">by flamephoenix</a></p>

<a href="#1">一、定義打印格式</a><br>
<a href="#2">二、顯示打印格式</a><br>
<a href="#3">三、在打印格式中顯示值</a><br>
 &nbsp; <a href="#3.1">1、通用的打印格式</a><br>
 &nbsp; <a href="#3.2">2、格式和局域變量</a><br>
 &nbsp; <a href="#3.3">3、選擇值域格式</a><br>
 &nbsp; <a href="#3.4">4、輸出值域字符</a><br>
<a href="#4">四、輸出到其它文件</a><br>
<a href="#5">五、分頁</a><br>
<a href="#6">六、格式化長字符串</a><br>
<a href="#7">七、用printf格式化輸出</a><br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;我們已經(jīng)見過用print函數(shù)將原始的未格式化的文本輸出到文件,本章講述如何用函數(shù)write和打印格式來生成格式化的輸出。<br>
<a name="1>一、定義打印格式</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;定義打印格式的關(guān)鍵字為format,語法為:<br>
<blockquote>
format formatname =<br>
lines_of_output<br>
.
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;打印格式名formatname的命名規(guī)則與一般變量相同。結(jié)束行為一個(gè)句號(hào),此行不能有任何其它字符,包括空格,句號(hào)必須是該行第一個(gè)字符。<br>
&nbsp;&nbsp;&nbsp;&nbsp;打印格式的定義象子程序一樣可以放在任何地方,甚至可以放在條件語句中,但是最好把它們集中放在程序的開頭或結(jié)尾。<br>
<a name="2">二、顯示打印格式</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;打印格式的顯示有兩步:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1、將系統(tǒng)變量$~設(shè)成所要使用的格式<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2、調(diào)用函數(shù)write<br>
&nbsp;&nbsp;&nbsp;&nbsp;例如:<br>
<blockquote>
1 :  #!/usr/local/bin/perl<br>
2 :  <br>
3 :  $~ = "MYFORMAT";<br>
4 :  write;<br>
5 :  <br>
6 :  format MYFORMAT =<br>
7 :  ===================================<br>
8 :  Here is the text I want to display.<br>
9 :  ===================================<br>
10: .
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;結(jié)果輸出如下:<br>
<blockquote>
$ program<br>
===================================<br>
Here is the text I want to display.<br>
===================================<br>
$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;如果不用$~指定打印格式,Perl解釋器就假定要使用的格式名與要寫入的文件變量同名,在本例中,如果不指定使用MYFORMAT,則Perl解釋器試圖使用名為STDOUT的打印格式。<br>
<a name="3">三、在打印格式中顯示值<br>
&nbsp;&nbsp;&nbsp;&nbsp;我們使用打印格式的主要原因當(dāng)然是格式化存貯在簡單變量或數(shù)組變量中的值從而生成可讀性好的輸出,這一目的用“值域”來實(shí)現(xiàn)。每個(gè)值域指定一個(gè)值,如變量或表達(dá)式,調(diào)用write函數(shù)時(shí),該值就以值域指定的格式顯示。<br>
<a name="3.1">1、通用的打印格式<br>
&nbsp;&nbsp;&nbsp;&nbsp;打印格式的一個(gè)缺點(diǎn)是定義中包含了變量名,例如:<br>
<blockquote>
format MYFORMAT =<br>
==========================================================<br>
The winning number is @&lt;&lt;&lt;&lt;&lt;&lt;!<br>
$winnum<br>
==========================================================<br>
.
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;當(dāng)調(diào)用write輸出此格式時(shí),必須記著它使用了變量$winnum。用子程序和局域變量就可以創(chuàng)建更通用的打印格式。下例從STDIN輸入一個(gè)文件并輸出五個(gè)出現(xiàn)頻率最高的字母及出現(xiàn)次數(shù)。<br>
<blockquote>
1 :  #!/usr/local/bin/perl<br>
2 :  <br>
3 :  while ($line = <STDIN>) {<br>
4 :  &nbsp;  $line =~ tr/A-Z/a-z/;<br>
5 :  &nbsp;  $line =~ s/[^a-z]//g;<br>
6 :  &nbsp;  @letters = split(//, $line);<br>
7 :  &nbsp;  foreach $letter (@letters) {<br>
8 :  &nbsp; &nbsp;   $lettercount{$letter} += 1;<br>
9 :  &nbsp;  }<br>
10: }<br>
11: <br>
12: $~ = "WRITEHEADER";<br>
13: write;<br>
14: $count = 0;<br>
15: foreach $letter (reverse sort occurrences<br>
16: &nbsp; &nbsp; &nbsp; (keys(%lettercount))) {<br>
17: &nbsp;  &write_letter($letter, $lettercount{$letter});<br>
18: &nbsp;  last if (++$count == 5);<br>
19: }<br>
20: <br>
21: sub occurrences {<br>
22: &nbsp;  $lettercount{$a} &lt;=&gt; $lettercount{$b};<br>
23: }<br>
24: sub write_letter {<br>
25: &nbsp;  local($letter, $value) = @_;<br>
26: <br>
27: &nbsp;  $~ = "WRITELETTER";<br>
28: &nbsp;  write;<br>
29: }<br>
30: format WRITEHEADER =<br>
31: The five most frequently occurring letters are:<br>
32: .<br>
33: format WRITELETTER =<br>
34: &nbsp;  @:  @&lt;&lt;&lt;&lt;&lt;&lt;<br>
35: &nbsp;  $letter, $value<br>
36: .
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運(yùn)行結(jié)果如下:<br>
<blockquote><pre>
$ program
This is a test file.
This test file contains some input.
The quick brown fox jumped over the lazy dog.
^D
The five most frequently occurring letters are:
        t: 10
        e: 9
        i: 8
        s: 7
        o: 6
$
</pre></blockquote>
<a name="3.2">2、格式和局域變量</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;在上例中,你可能已經(jīng)注意到子程序write_letter調(diào)用write輸出字母及其出現(xiàn)次數(shù),即使格式定義在子程序外部仍能正常工作。在第17行中將字母及其出現(xiàn)次數(shù)傳遞給該子程序,在子程序中,打印格式使用局域變量$letter和$value,這樣保證了在foreach循環(huán)中每次輸出當(dāng)前的字母和值。<br>
&nbsp;&nbsp;&nbsp;&nbsp;然而要注意的是,使用my定義的局域變量要求格式定義在子程序內(nèi)部,否則就不會(huì)輸出,因此,用write輸出的局域變量一定要用local定義。(local和my詳見《子程序》一章)<br>
&nbsp;&nbsp;&nbsp;&nbsp;注:Perl4中沒有my函數(shù),故不會(huì)有此問題。<br>
<a name="3.3">3、選擇值域格式</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;我們已經(jīng)知道了打印格式和write函數(shù)怎么工作,現(xiàn)在來看看值域的格式,見下表:<br>
<p><table border="1" align="center">
  <tr>
    <td>格式</td>
    <td>值域含義</td>
  </tr>
  <tr>
    <td>@&lt;&lt;&lt</td>
    <td>左對(duì)齊輸出</td>
  </tr>
  <tr>
    <td>@&gt;&gt;&gt;</td>
    <td>右對(duì)齊輸出</td>
  </tr>
  <tr>
    <td>@|||</td>
    <td>中對(duì)齊輸出</td>
  </tr>
  <tr>
    <td>@##.## &nbsp; </td>
    <td>固定精度數(shù)字 &nbsp; </td>
  </tr>
  <tr>
    <td>@*</td>
    <td>多行文本</td>
  </tr>
</table></p>
&nbsp;&nbsp;&nbsp;&nbsp;每個(gè)值域的第一個(gè)字符是行填充符,當(dāng)使用@字符時(shí),不做文本格式化。對(duì)文本的格式化稍后來講。<br>
&nbsp;&nbsp;&nbsp;&nbsp;在上表中,除了多行值域@*,域?qū)挾嫉扔谄渲付ǖ陌址鸃在內(nèi)的字符個(gè)數(shù),例如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; @###.##<br>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产麻豆免费人成网站| 亚洲免费视频成人| 丝袜美腿亚洲综合| 欧美高清hd18日本| 青娱乐精品视频| 日韩欧美的一区| 国产成人免费在线| 最新国产精品久久精品| 91亚洲国产成人精品一区二区三 | 日韩一区二区电影网| 无码av中文一区二区三区桃花岛| 777欧美精品| 国产乱人伦偷精品视频不卡| 国产精品久久久久久久久久免费看 | 欧美色中文字幕| 偷拍日韩校园综合在线| 欧美大片拔萝卜| av在线一区二区| 国产精品66部| 最新国产の精品合集bt伙计| 欧美视频日韩视频| 国产一区二区日韩精品| 亚洲天堂网中文字| 欧美绝品在线观看成人午夜影视| 国产在线精品一区二区三区不卡| 国产精品超碰97尤物18| 欧美精品免费视频| 国产成a人无v码亚洲福利| 亚洲黄网站在线观看| 日韩美女天天操| 99精品久久免费看蜜臀剧情介绍| 日韩**一区毛片| 亚洲国产岛国毛片在线| 欧美酷刑日本凌虐凌虐| 成人动漫精品一区二区| 免费av网站大全久久| 综合久久综合久久| 日韩欧美123| 在线欧美小视频| 国产精品亚洲人在线观看| 亚洲一区在线播放| 欧美激情自拍偷拍| 欧美一区二区二区| 在线观看区一区二| 丁香激情综合国产| 久久精品国产精品亚洲红杏 | 亚洲一区国产视频| 久久精品欧美日韩| 日韩一区国产二区欧美三区| 色琪琪一区二区三区亚洲区| 精品国产露脸精彩对白| 日本韩国一区二区| 成人午夜av电影| 国产乱码精品一区二区三区av| 亚洲在线视频网站| 自拍偷拍国产精品| 亚洲国产精品成人综合色在线婷婷| 欧美一级二级三级蜜桃| 欧美人与z0zoxxxx视频| 色婷婷国产精品| 不卡视频免费播放| 成人一区二区三区在线观看| 韩国欧美一区二区| 免费在线视频一区| 天堂va蜜桃一区二区三区| 亚洲另类中文字| 中文字幕综合网| 国产精品第五页| 亚洲欧洲精品成人久久奇米网| 久久久亚洲综合| 久久久亚洲综合| 久久精品亚洲麻豆av一区二区| 日韩午夜在线影院| 欧美一区二区观看视频| 日韩手机在线导航| 欧美一级高清片| 日韩欧美一级二级三级| 日韩精品中文字幕在线一区| 日韩久久久精品| 欧美r级在线观看| 久久综合久久综合亚洲| 26uuu久久综合| 久久人人爽人人爽| 中国av一区二区三区| 日本一区二区视频在线| 国产精品美女久久久久高潮| 中文字幕亚洲欧美在线不卡| 亚洲裸体xxx| 亚洲愉拍自拍另类高清精品| 亚洲午夜精品网| 日韩成人午夜精品| 精品一区二区综合| 国产风韵犹存在线视精品| 粉嫩高潮美女一区二区三区| 91老师片黄在线观看| 欧美吻胸吃奶大尺度电影 | 99久久精品99国产精品| 91蜜桃在线免费视频| 欧美在线视频全部完| 在线播放欧美女士性生活| 日韩一级片在线播放| 久久久久久9999| 亚洲欧美成人一区二区三区| 亚洲国产成人av| 国产一区二区在线观看视频| 成人av高清在线| 欧美三级在线播放| 久久综合色综合88| 一区二区三区欧美久久| 极品美女销魂一区二区三区 | 天天色天天操综合| 韩国一区二区视频| 91麻豆精东视频| 日韩美女天天操| 亚洲精选一二三| 狠狠狠色丁香婷婷综合激情 | 欧美欧美午夜aⅴ在线观看| 精品欧美一区二区在线观看| 中日韩av电影| 蜜臀av性久久久久av蜜臀妖精| 成人综合婷婷国产精品久久蜜臀| 在线观看日韩精品| 久久精品夜夜夜夜久久| 欧美一区二区三区啪啪| 精品国产污污免费网站入口 | 亚洲欧美日韩精品久久久久| 午夜精品视频在线观看| 丰满亚洲少妇av| 91精品欧美久久久久久动漫| 国产精品久久久久天堂| 秋霞电影网一区二区| 色婷婷国产精品久久包臀| 26uuu国产一区二区三区| 亚洲一区二区av电影| 成人一级黄色片| 欧美成人精品福利| 亚洲一级二级在线| 成人丝袜18视频在线观看| 日韩午夜精品视频| 夜夜精品视频一区二区| 岛国一区二区在线观看| 制服视频三区第一页精品| 亚洲欧美日韩电影| 成人国产精品免费观看动漫| 日韩三区在线观看| 亚洲午夜免费电影| 91理论电影在线观看| 国产精品丝袜久久久久久app| 麻豆视频一区二区| 欧美三级中文字幕| 亚洲激情男女视频| 盗摄精品av一区二区三区| 久久综合九色综合久久久精品综合| 午夜影院在线观看欧美| 在线免费观看不卡av| 亚洲天天做日日做天天谢日日欢 | 亚洲午夜三级在线| 一本大道久久a久久精二百| 国产欧美精品一区二区色综合| 日韩精品乱码免费| 欧美日韩午夜精品| 亚洲成人在线网站| 精品视频一区二区不卡| 一区二区三区中文在线观看| 91色porny蝌蚪| 中文字幕日韩欧美一区二区三区| 丰满亚洲少妇av| 国产精品美女久久久久久| k8久久久一区二区三区| 1区2区3区精品视频| zzijzzij亚洲日本少妇熟睡| 国产精品美女久久福利网站| 不卡高清视频专区| 中文字幕亚洲一区二区av在线| aaa亚洲精品一二三区| 亚洲欧美国产毛片在线| 欧美午夜精品久久久| 午夜精品免费在线观看| 91精品国产入口| 九色|91porny| 久久久夜色精品亚洲| 成人久久久精品乱码一区二区三区| 国产三区在线成人av| 成人丝袜视频网| 亚洲制服丝袜av| 91精品国产一区二区| 久热成人在线视频| 国产嫩草影院久久久久| 99免费精品视频| 亚洲成人免费在线观看| 日韩欧美亚洲一区二区| 国产精品影视天天线| 亚洲图片欧美激情| 欧美日韩日日夜夜| 国产在线看一区| 亚洲色图清纯唯美| 欧美日韩第一区日日骚| 激情成人午夜视频| 一区二区中文视频| 6080yy午夜一二三区久久|