⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000019.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
&nbsp;command&nbsp;interpreter.&nbsp;Ask&nbsp;your&nbsp;Local&nbsp;Expert.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Throughout&nbsp;this&nbsp;book,&nbsp;we'll&nbsp;just&nbsp;use&nbsp;&lt;TT&gt;#!/usr/bin/perl&lt;/TT&gt;&nbsp;to&nbsp;represent&nbsp;<BR>&nbsp;all&nbsp;these&nbsp;notions&nbsp;and&nbsp;notations,&nbsp;but&nbsp;you'll&nbsp;know&nbsp;what&nbsp;we&nbsp;really&nbsp;mean&nbsp;by&nbsp;<BR>&nbsp;it.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;A&nbsp;random&nbsp;clue:&nbsp;when&nbsp;you&nbsp;write&nbsp;a&nbsp;test&nbsp;script,&nbsp;don't&nbsp;call&nbsp;your&nbsp;script&nbsp;<BR>&nbsp;&lt;I&gt;test&lt;/I&gt;.&nbsp;UNIX&nbsp;systems&nbsp;have&nbsp;a&nbsp;built-in&nbsp;test&nbsp;command,&nbsp;which&nbsp;will&nbsp;likely&nbsp;<BR>&nbsp;be&nbsp;executed&nbsp;instead&nbsp;of&nbsp;your&nbsp;script.&nbsp;Try&nbsp;&lt;I&gt;try&lt;/I&gt;&nbsp;instead.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;A&nbsp;not-so-random&nbsp;clue:&nbsp;while&nbsp;learning&nbsp;Perl,&nbsp;and&nbsp;even&nbsp;after&nbsp;you&nbsp;think&nbsp;<BR>&nbsp;you&nbsp;know&nbsp;what&nbsp;you're&nbsp;doing,&nbsp;we&nbsp;suggest&nbsp;using&nbsp;the&nbsp;&lt;B&gt;-w&lt;/B&gt;&nbsp;option,&nbsp;especially&nbsp;<BR>&nbsp;during&nbsp;development.&nbsp;This&nbsp;option&nbsp;will&nbsp;turn&nbsp;on&nbsp;all&nbsp;sorts&nbsp;of&nbsp;useful&nbsp;and&nbsp;interesting&nbsp;<BR>&nbsp;warning&nbsp;messages,&nbsp;not&nbsp;necessarily&nbsp;in&nbsp;that&nbsp;order.&nbsp;You&nbsp;can&nbsp;put&nbsp;the&nbsp;&lt;B&gt;-w&lt;/B&gt;&nbsp;<BR>&nbsp;switch&nbsp;on&nbsp;the&nbsp;shebang&nbsp;line,&nbsp;like&nbsp;this:&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;PRE&gt;#!/usr/bin/perl&nbsp;-w&nbsp;<BR>&nbsp;&lt;/PRE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Now&nbsp;that&nbsp;you&nbsp;know&nbsp;how&nbsp;to&nbsp;run&nbsp;your&nbsp;own&nbsp;Perl&nbsp;program&nbsp;(not&nbsp;to&nbsp;be&nbsp;confused&nbsp;<BR>&nbsp;with&nbsp;the&nbsp;&lt;I&gt;perl&lt;/I&gt;&nbsp;program),&nbsp;let's&nbsp;get&nbsp;back&nbsp;to&nbsp;our&nbsp;example.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;H2&gt;&lt;A&nbsp;NAME=&quot;PERL2-CH-1-SECT-4&quot;&gt;&lt;/A&gt;1.4&nbsp;Filehandles&lt;/H2&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;&lt;A&nbsp;NAME=&quot;CH01.IOF1&quot;&gt;&lt;/A&gt;&lt;A&nbsp;NAME=&quot;CH01.IOF2&quot;&gt;&lt;/A&gt;&lt;A&nbsp;NAME=&quot;CH01.FH&quot;&gt;&lt;/A&gt;Unless&nbsp;<BR>&nbsp;you're&nbsp;using&nbsp;artificial&nbsp;intelligence&nbsp;to&nbsp;model&nbsp;a&nbsp;solipsistic&nbsp;philosopher,&nbsp;<BR>&nbsp;your&nbsp;program&nbsp;needs&nbsp;some&nbsp;way&nbsp;to&nbsp;communicate&nbsp;with&nbsp;the&nbsp;outside&nbsp;world.&nbsp;In&nbsp;lines&nbsp;<BR>&nbsp;3&nbsp;and&nbsp;4&nbsp;of&nbsp;our&nbsp;grade&nbsp;example&nbsp;you'll&nbsp;see&nbsp;the&nbsp;word&nbsp;&lt;TT&gt;GRADES&lt;/TT&gt;,&nbsp;which&nbsp;<BR>&nbsp;exemplifies&nbsp;another&nbsp;of&nbsp;Perl's&nbsp;data&nbsp;types,&nbsp;the&nbsp;&lt;I&gt;filehandle&lt;/I&gt;.&nbsp;A&nbsp;filehandle&nbsp;<BR>&nbsp;is&nbsp;just&nbsp;a&nbsp;name&nbsp;you&nbsp;give&nbsp;to&nbsp;a&nbsp;file,&nbsp;device,&nbsp;socket,&nbsp;or&nbsp;pipe&nbsp;to&nbsp;help&nbsp;you&nbsp;<BR>&nbsp;remember&nbsp;which&nbsp;one&nbsp;you're&nbsp;talking&nbsp;about,&nbsp;and&nbsp;to&nbsp;hide&nbsp;some&nbsp;of&nbsp;the&nbsp;complexities&nbsp;<BR>&nbsp;of&nbsp;buffering&nbsp;and&nbsp;such.&nbsp;(Internally,&nbsp;filehandles&nbsp;are&nbsp;similar&nbsp;to&nbsp;streams&nbsp;<BR>&nbsp;from&nbsp;a&nbsp;language&nbsp;like&nbsp;C++,&nbsp;or&nbsp;I/O&nbsp;channels&nbsp;from&nbsp;BASIC.)&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Filehandles&nbsp;make&nbsp;it&nbsp;easier&nbsp;for&nbsp;you&nbsp;to&nbsp;get&nbsp;input&nbsp;from&nbsp;and&nbsp;send&nbsp;output&nbsp;<BR>&nbsp;to&nbsp;many&nbsp;different&nbsp;places.&nbsp;Part&nbsp;of&nbsp;what&nbsp;makes&nbsp;Perl&nbsp;a&nbsp;good&nbsp;glue&nbsp;language&nbsp;<BR>&nbsp;is&nbsp;that&nbsp;it&nbsp;can&nbsp;talk&nbsp;to&nbsp;many&nbsp;files&nbsp;and&nbsp;processes&nbsp;at&nbsp;once.&nbsp;Having&nbsp;nice&nbsp;symbolic&nbsp;<BR>&nbsp;names&nbsp;for&nbsp;various&nbsp;external&nbsp;objects&nbsp;is&nbsp;just&nbsp;part&nbsp;of&nbsp;being&nbsp;a&nbsp;good&nbsp;glue&nbsp;language.[17]&nbsp;<BR>&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;BLOCKQUOTE&nbsp;class=footnote&gt;&nbsp;<BR>&nbsp;&lt;P&gt;[17]&nbsp;Some&nbsp;of&nbsp;the&nbsp;other&nbsp;things&nbsp;that&nbsp;make&nbsp;Perl&nbsp;a&nbsp;good&nbsp;glue&nbsp;language&nbsp;are:&nbsp;<BR>&nbsp;it's&nbsp;8-bit&nbsp;clean,&nbsp;it's&nbsp;embeddable,&nbsp;and&nbsp;you&nbsp;can&nbsp;embed&nbsp;other&nbsp;things&nbsp;in&nbsp;it&nbsp;<BR>&nbsp;via&nbsp;extension&nbsp;modules.&nbsp;It's&nbsp;concise,&nbsp;and&nbsp;networks&nbsp;easily.&nbsp;It's&nbsp;environmentally&nbsp;<BR>&nbsp;conscious,&nbsp;so&nbsp;to&nbsp;speak.&nbsp;You&nbsp;can&nbsp;invoke&nbsp;it&nbsp;in&nbsp;many&nbsp;different&nbsp;ways&nbsp;(as&nbsp;we&nbsp;<BR>&nbsp;saw&nbsp;earlier).&nbsp;But&nbsp;most&nbsp;of&nbsp;all,&nbsp;the&nbsp;language&nbsp;itself&nbsp;is&nbsp;not&nbsp;so&nbsp;rigidly&nbsp;structured&nbsp;<BR>&nbsp;that&nbsp;you&nbsp;can't&nbsp;get&nbsp;it&nbsp;to&nbsp;&amp;quot;flow&amp;quot;&nbsp;around&nbsp;your&nbsp;problem.&nbsp;It&nbsp;comes&nbsp;<BR>&nbsp;back&nbsp;to&nbsp;that&nbsp;TMTOWTDI&nbsp;thing&nbsp;again.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&lt;/BLOCKQUOTE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;You&nbsp;create&nbsp;a&nbsp;filehandle&nbsp;and&nbsp;attach&nbsp;it&nbsp;to&nbsp;a&nbsp;file&nbsp;by&nbsp;using&nbsp;the&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-OPEN&quot;&gt;open&lt;/A&gt;&nbsp;<BR>&nbsp;function.&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-OPEN&quot;&gt;open&lt;/A&gt;&nbsp;takes&nbsp;two&nbsp;parameters:&nbsp;<BR>&nbsp;the&nbsp;filehandle&nbsp;and&nbsp;the&nbsp;filename&nbsp;you&nbsp;want&nbsp;to&nbsp;associate&nbsp;it&nbsp;with.&nbsp;Perl&nbsp;also&nbsp;<BR>&nbsp;gives&nbsp;you&nbsp;some&nbsp;predefined&nbsp;(and&nbsp;preopened)&nbsp;filehandles.&nbsp;&lt;TT&gt;STDIN&lt;/TT&gt;&nbsp;is&nbsp;<BR>&nbsp;your&nbsp;program's&nbsp;normal&nbsp;input&nbsp;channel,&nbsp;while&nbsp;&lt;TT&gt;STDOUT&lt;/TT&gt;&nbsp;is&nbsp;your&nbsp;program's&nbsp;<BR>&nbsp;normal&nbsp;output&nbsp;channel.&nbsp;And&nbsp;&lt;TT&gt;STDERR&lt;/TT&gt;&nbsp;is&nbsp;an&nbsp;additional&nbsp;output&nbsp;channel&nbsp;<BR>&nbsp;so&nbsp;that&nbsp;your&nbsp;program&nbsp;can&nbsp;make&nbsp;snide&nbsp;remarks&nbsp;off&nbsp;to&nbsp;the&nbsp;side&nbsp;while&nbsp;it&nbsp;transforms&nbsp;<BR>&nbsp;(or&nbsp;attempts&nbsp;to&nbsp;transform)&nbsp;your&nbsp;input&nbsp;into&nbsp;your&nbsp;output.[18]&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;BLOCKQUOTE&nbsp;class=footnote&gt;&nbsp;<BR>&nbsp;&lt;P&gt;[18]&nbsp;These&nbsp;filehandles&nbsp;are&nbsp;typically&nbsp;attached&nbsp;to&nbsp;your&nbsp;terminal,&nbsp;so&nbsp;you&nbsp;<BR>&nbsp;can&nbsp;type&nbsp;to&nbsp;your&nbsp;program&nbsp;and&nbsp;see&nbsp;its&nbsp;output,&nbsp;but&nbsp;they&nbsp;may&nbsp;also&nbsp;be&nbsp;attached&nbsp;<BR>&nbsp;to&nbsp;files&nbsp;(and&nbsp;such).&nbsp;Perl&nbsp;can&nbsp;give&nbsp;you&nbsp;these&nbsp;predefined&nbsp;handles&nbsp;because&nbsp;<BR>&nbsp;your&nbsp;operating&nbsp;system&nbsp;already&nbsp;provides&nbsp;them,&nbsp;one&nbsp;way&nbsp;or&nbsp;another.&nbsp;Under&nbsp;<BR>&nbsp;UNIX,&nbsp;processes&nbsp;inherit&nbsp;standard&nbsp;input,&nbsp;output,&nbsp;and&nbsp;error&nbsp;from&nbsp;their&nbsp;parent&nbsp;<BR>&nbsp;process,&nbsp;typically&nbsp;a&nbsp;shell.&nbsp;One&nbsp;of&nbsp;the&nbsp;duties&nbsp;of&nbsp;a&nbsp;shell&nbsp;is&nbsp;to&nbsp;set&nbsp;up&nbsp;these&nbsp;<BR>&nbsp;I/O&nbsp;streams&nbsp;so&nbsp;that&nbsp;the&nbsp;child&nbsp;process&nbsp;doesn't&nbsp;need&nbsp;to&nbsp;worry&nbsp;about&nbsp;them.&nbsp;<BR>&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&lt;/BLOCKQUOTE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Since&nbsp;you&nbsp;can&nbsp;use&nbsp;the&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-OPEN&quot;&gt;open&lt;/A&gt;&nbsp;<BR>&nbsp;function&nbsp;to&nbsp;create&nbsp;filehandles&nbsp;for&nbsp;various&nbsp;purposes&nbsp;(input,&nbsp;output,&nbsp;piping),&nbsp;<BR>&nbsp;you&nbsp;need&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;specify&nbsp;which&nbsp;behavior&nbsp;you&nbsp;want.&nbsp;As&nbsp;you&nbsp;would&nbsp;do&nbsp;<BR>&nbsp;on&nbsp;the&nbsp;UNIX&nbsp;command&nbsp;line,&nbsp;you&nbsp;simply&nbsp;add&nbsp;characters&nbsp;to&nbsp;the&nbsp;filename.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;PRE&gt;open(SESAME,&nbsp;&amp;quot;filename&amp;quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;read&nbsp;from&nbsp;existing&nbsp;file&nbsp;<BR>&nbsp;open(SESAME,&nbsp;&amp;quot;&amp;lt;filename&amp;quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;(same&nbsp;thing,&nbsp;explicitly)&nbsp;<BR>&nbsp;open(SESAME,&nbsp;&amp;quot;&amp;gt;filename&amp;quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;create&nbsp;file&nbsp;and&nbsp;write&nbsp;to&nbsp;it&nbsp;<BR>&nbsp;open(SESAME,&nbsp;&amp;quot;&amp;gt;&amp;gt;filename&amp;quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;append&nbsp;to&nbsp;existing&nbsp;file&nbsp;<BR>&nbsp;open(SESAME,&nbsp;&amp;quot;|&nbsp;output-pipe-command&amp;quot;);&nbsp;&nbsp;#&nbsp;set&nbsp;up&nbsp;an&nbsp;output&nbsp;filter&nbsp;<BR>&nbsp;open(SESAME,&nbsp;&amp;quot;input-pipe-command&nbsp;|&amp;quot;);&nbsp;&nbsp;&nbsp;#&nbsp;set&nbsp;up&nbsp;an&nbsp;input&nbsp;filter&nbsp;<BR>&nbsp;&lt;/PRE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;As&nbsp;you&nbsp;can&nbsp;see,&nbsp;the&nbsp;name&nbsp;you&nbsp;pick&nbsp;is&nbsp;arbitrary.&nbsp;Once&nbsp;opened,&nbsp;the&nbsp;filehandle&nbsp;<BR>&nbsp;&lt;TT&gt;SESAME&lt;/TT&gt;&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;access&nbsp;the&nbsp;file&nbsp;or&nbsp;pipe&nbsp;until&nbsp;it&nbsp;is&nbsp;explicitly&nbsp;<BR>&nbsp;closed&nbsp;(with,&nbsp;you&nbsp;guessed&nbsp;it,&nbsp;&lt;TT&gt;close(SESAME)&lt;/TT&gt;),&nbsp;or&nbsp;the&nbsp;filehandle&nbsp;<BR>&nbsp;is&nbsp;attached&nbsp;to&nbsp;another&nbsp;file&nbsp;by&nbsp;a&nbsp;subsequent&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-OPEN&quot;&gt;open&lt;/A&gt;&nbsp;<BR>&nbsp;on&nbsp;the&nbsp;same&nbsp;filehandle.[19]&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;BLOCKQUOTE&nbsp;class=footnote&gt;&nbsp;<BR>&nbsp;&lt;P&gt;[19]&nbsp;Opening&nbsp;an&nbsp;already&nbsp;opened&nbsp;filehandle&nbsp;implicitly&nbsp;closes&nbsp;the&nbsp;first&nbsp;<BR>&nbsp;file,&nbsp;making&nbsp;it&nbsp;inaccessible&nbsp;to&nbsp;the&nbsp;filehandle,&nbsp;and&nbsp;opens&nbsp;a&nbsp;different&nbsp;file.&nbsp;<BR>&nbsp;You&nbsp;must&nbsp;be&nbsp;careful&nbsp;that&nbsp;this&nbsp;is&nbsp;what&nbsp;you&nbsp;really&nbsp;want&nbsp;to&nbsp;do.&nbsp;Sometimes&nbsp;<BR>&nbsp;it&nbsp;happens&nbsp;accidentally,&nbsp;like&nbsp;when&nbsp;you&nbsp;say&nbsp;&lt;TT&gt;open($handle,$file)&lt;/TT&gt;,&nbsp;<BR>&nbsp;and&nbsp;&lt;TT&gt;$handle&lt;/TT&gt;&nbsp;happens&nbsp;to&nbsp;contain&nbsp;the&nbsp;null&nbsp;string.&nbsp;Be&nbsp;sure&nbsp;to&nbsp;set&nbsp;<BR>&nbsp;&lt;TT&gt;$handle&lt;/TT&gt;&nbsp;to&nbsp;something&nbsp;unique,&nbsp;or&nbsp;you'll&nbsp;just&nbsp;open&nbsp;a&nbsp;new&nbsp;file&nbsp;on&nbsp;<BR>&nbsp;the&nbsp;null&nbsp;filehandle.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&lt;/BLOCKQUOTE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Once&nbsp;you've&nbsp;opened&nbsp;a&nbsp;filehandle&nbsp;for&nbsp;input&nbsp;(or&nbsp;if&nbsp;you&nbsp;want&nbsp;to&nbsp;use&nbsp;&lt;TT&gt;STDIN&lt;/TT&gt;),&nbsp;<BR>&nbsp;you&nbsp;can&nbsp;read&nbsp;a&nbsp;line&nbsp;using&nbsp;the&nbsp;line&nbsp;reading&nbsp;operator,&nbsp;&lt;TT&gt;&amp;lt;&amp;gt;&lt;/TT&gt;.&nbsp;<BR>&nbsp;This&nbsp;is&nbsp;also&nbsp;known&nbsp;as&nbsp;the&nbsp;angle&nbsp;operator,&nbsp;because&nbsp;of&nbsp;its&nbsp;shape.&nbsp;The&nbsp;angle&nbsp;<BR>&nbsp;operator&nbsp;encloses&nbsp;the&nbsp;filehandle&nbsp;(&lt;TT&gt;&amp;lt;SESAME&amp;gt;&lt;/TT&gt;)&nbsp;you&nbsp;want&nbsp;to&nbsp;<BR>&nbsp;read&nbsp;lines&nbsp;from.[20]&nbsp;An&nbsp;example&nbsp;using&nbsp;the&nbsp;&lt;TT&gt;STDIN&lt;/TT&gt;&nbsp;filehandle&nbsp;to&nbsp;<BR>&nbsp;read&nbsp;an&nbsp;answer&nbsp;supplied&nbsp;by&nbsp;the&nbsp;user&nbsp;would&nbsp;look&nbsp;something&nbsp;like&nbsp;this:&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;BLOCKQUOTE&nbsp;class=footnote&gt;&nbsp;<BR>&nbsp;&lt;P&gt;[20]&nbsp;The&nbsp;empty&nbsp;angle&nbsp;operator,&nbsp;&lt;TT&gt;&amp;lt;&amp;gt;&lt;/TT&gt;,&nbsp;will&nbsp;read&nbsp;lines&nbsp;from&nbsp;<BR>&nbsp;all&nbsp;the&nbsp;files&nbsp;specified&nbsp;on&nbsp;the&nbsp;command&nbsp;line,&nbsp;or&nbsp;&lt;TT&gt;STDIN&lt;/TT&gt;,&nbsp;if&nbsp;none&nbsp;<BR>&nbsp;were&nbsp;specified.&nbsp;(This&nbsp;is&nbsp;standard&nbsp;behavior&nbsp;for&nbsp;many&nbsp;UNIX&nbsp;filter&nbsp;programs.)&nbsp;<BR>&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&lt;/BLOCKQUOTE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;PRE&gt;print&nbsp;STDOUT&nbsp;&amp;quot;Enter&nbsp;a&nbsp;number:&nbsp;&amp;quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;ask&nbsp;for&nbsp;a&nbsp;number&nbsp;<BR>&nbsp;$number&nbsp;=&nbsp;&amp;lt;STDIN&amp;gt;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;input&nbsp;the&nbsp;number&nbsp;<BR>&nbsp;print&nbsp;STDOUT&nbsp;&amp;quot;The&nbsp;number&nbsp;is&nbsp;$number\n&amp;quot;;&nbsp;&nbsp;&nbsp;#&nbsp;print&nbsp;the&nbsp;number&nbsp;<BR>&nbsp;&lt;/PRE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Did&nbsp;you&nbsp;see&nbsp;what&nbsp;we&nbsp;just&nbsp;slipped&nbsp;by&nbsp;you?&nbsp;What's&nbsp;the&nbsp;&lt;TT&gt;STDOUT&lt;/TT&gt;&nbsp;<BR>&nbsp;doing&nbsp;in&nbsp;those&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-PRINT&quot;&gt;print&lt;/A&gt;&nbsp;statements&nbsp;<BR>&nbsp;there?&nbsp;Well,&nbsp;that's&nbsp;one&nbsp;of&nbsp;the&nbsp;ways&nbsp;you&nbsp;can&nbsp;use&nbsp;an&nbsp;output&nbsp;filehandle.&nbsp;A&nbsp;<BR>&nbsp;filehandle&nbsp;may&nbsp;be&nbsp;supplied&nbsp;as&nbsp;the&nbsp;first&nbsp;argument&nbsp;to&nbsp;the&nbsp;&lt;A&nbsp;HREF=&quot;ch03_02.htm#PERL2-CMD-PRINT&quot;&gt;print&lt;/A&gt;&nbsp;<BR>&nbsp;statement,&nbsp;and&nbsp;if&nbsp;present,&nbsp;tells&nbsp;the&nbsp;output&nbsp;where&nbsp;to&nbsp;go.&nbsp;In&nbsp;this&nbsp;case,&nbsp;<BR>&nbsp;the&nbsp;filehandle&nbsp;is&nbsp;redundant,&nbsp;because&nbsp;the&nbsp;output&nbsp;would&nbsp;have&nbsp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -