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

📄 00000019.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;An&nbsp;individual&nbsp;value&nbsp;(number&nbsp;or&nbsp;string)&lt;/TD&gt;&nbsp;<BR>&nbsp;&lt;/TR&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TR&nbsp;CLASS=row&gt;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;Array&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;@&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;@large&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;A&nbsp;list&nbsp;of&nbsp;values,&nbsp;keyed&nbsp;by&nbsp;number&lt;/TD&gt;&nbsp;<BR>&nbsp;&lt;/TR&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TR&nbsp;CLASS=row&gt;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;Hash&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;%&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;%interest&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;A&nbsp;group&nbsp;of&nbsp;values,&nbsp;keyed&nbsp;by&nbsp;string&lt;/TD&gt;&nbsp;<BR>&nbsp;&lt;/TR&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TR&nbsp;CLASS=row&gt;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;Subroutine&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;&amp;amp;&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;&amp;amp;how&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;A&nbsp;callable&nbsp;chunk&nbsp;of&nbsp;Perl&nbsp;code&lt;/TD&gt;&nbsp;<BR>&nbsp;&lt;/TR&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TR&nbsp;CLASS=row&gt;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;Typeglob&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;*&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;&lt;TT&gt;*struck&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;TD&nbsp;ALIGN=&quot;left&quot;&gt;Everything&nbsp;named&nbsp;&lt;TT&gt;struck&lt;/TT&gt;&lt;/TD&gt;&nbsp;<BR>&nbsp;&lt;/TR&gt;&nbsp;<BR>&nbsp;&lt;/TABLE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;H4&gt;&lt;A&nbsp;NAME=&quot;PERL2-CH-1-SECT-2.1.1&quot;&gt;&lt;/A&gt;Singularities&lt;/H4&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;From&nbsp;our&nbsp;example,&nbsp;you&nbsp;can&nbsp;see&nbsp;that&nbsp;scalars&nbsp;may&nbsp;be&nbsp;assigned&nbsp;a&nbsp;new&nbsp;value&nbsp;<BR>&nbsp;with&nbsp;the&nbsp;&lt;TT&gt;=&lt;/TT&gt;&nbsp;operator,&nbsp;just&nbsp;as&nbsp;in&nbsp;many&nbsp;other&nbsp;computer&nbsp;languages.&nbsp;<BR>&nbsp;Scalar&nbsp;variables&nbsp;can&nbsp;be&nbsp;assigned&nbsp;any&nbsp;form&nbsp;of&nbsp;scalar&nbsp;value:&nbsp;integers,&nbsp;floating-point&nbsp;<BR>&nbsp;numbers,&nbsp;strings,&nbsp;and&nbsp;even&nbsp;esoteric&nbsp;things&nbsp;like&nbsp;references&nbsp;to&nbsp;other&nbsp;variables,&nbsp;<BR>&nbsp;or&nbsp;to&nbsp;objects.&nbsp;There&nbsp;are&nbsp;many&nbsp;ways&nbsp;of&nbsp;generating&nbsp;these&nbsp;values&nbsp;for&nbsp;assignment.&nbsp;<BR>&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;As&nbsp;in&nbsp;the&nbsp;UNIX&nbsp;shell,&nbsp;you&nbsp;can&nbsp;use&nbsp;different&nbsp;quoting&nbsp;mechanisms&nbsp;to&nbsp;make&nbsp;<BR>&nbsp;different&nbsp;kinds&nbsp;of&nbsp;values.&nbsp;Double&nbsp;quotation&nbsp;marks&nbsp;(double&nbsp;quotes)&nbsp;do&nbsp;variable&nbsp;<BR>&nbsp;interpolation[7]&nbsp;and&nbsp;backslash&nbsp;interpretation,[8]&nbsp;while&nbsp;single&nbsp;quotes&nbsp;suppress&nbsp;<BR>&nbsp;both&nbsp;interpolation&nbsp;and&nbsp;interpretation.&nbsp;And&nbsp;backquotes&nbsp;(the&nbsp;ones&nbsp;leaning&nbsp;<BR>&nbsp;to&nbsp;the&nbsp;left)&nbsp;will&nbsp;execute&nbsp;an&nbsp;external&nbsp;program&nbsp;and&nbsp;return&nbsp;the&nbsp;output&nbsp;of&nbsp;<BR>&nbsp;the&nbsp;program,&nbsp;so&nbsp;you&nbsp;can&nbsp;capture&nbsp;it&nbsp;as&nbsp;a&nbsp;single&nbsp;string&nbsp;containing&nbsp;all&nbsp;the&nbsp;<BR>&nbsp;lines&nbsp;of&nbsp;output.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;BLOCKQUOTE&nbsp;class=footnote&gt;&nbsp;<BR>&nbsp;&lt;P&gt;[7]&nbsp;Sometimes&nbsp;called&nbsp;&amp;quot;substitution&amp;quot;&nbsp;by&nbsp;shell&nbsp;programmers,&nbsp;<BR>&nbsp;but&nbsp;we&nbsp;prefer&nbsp;to&nbsp;reserve&nbsp;that&nbsp;word&nbsp;for&nbsp;something&nbsp;else&nbsp;in&nbsp;Perl.&nbsp;So&nbsp;please&nbsp;<BR>&nbsp;call&nbsp;it&nbsp;interpolation.&nbsp;We're&nbsp;using&nbsp;the&nbsp;term&nbsp;in&nbsp;the&nbsp;textual&nbsp;sense&nbsp;(&amp;quot;this&nbsp;<BR>&nbsp;passage&nbsp;is&nbsp;a&nbsp;Gnostic&nbsp;interpolation&amp;quot;)&nbsp;rather&nbsp;than&nbsp;in&nbsp;the&nbsp;mathematical&nbsp;<BR>&nbsp;sense&nbsp;(&amp;quot;this&nbsp;point&nbsp;on&nbsp;the&nbsp;graph&nbsp;is&nbsp;an&nbsp;interpolation&nbsp;between&nbsp;two&nbsp;other&nbsp;<BR>&nbsp;points&amp;quot;).&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;[8]&nbsp;Such&nbsp;as&nbsp;turning&nbsp;&lt;TT&gt;\t&lt;/TT&gt;&nbsp;into&nbsp;a&nbsp;tab,&nbsp;&lt;TT&gt;\n&lt;/TT&gt;&nbsp;into&nbsp;a&nbsp;newline,&nbsp;<BR>&nbsp;&lt;TT&gt;\&nbsp;001&lt;/TT&gt;&nbsp;into&nbsp;a&nbsp;CTRL-A,&nbsp;and&nbsp;so&nbsp;on,&nbsp;in&nbsp;the&nbsp;tradition&nbsp;of&nbsp;many&nbsp;UNIX&nbsp;<BR>&nbsp;programs.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&lt;/BLOCKQUOTE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;PRE&gt;$answer&nbsp;=&nbsp;42;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;an&nbsp;integer&nbsp;<BR>&nbsp;$pi&nbsp;=&nbsp;3.14159265;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;a&nbsp;&amp;quot;real&amp;quot;&nbsp;number&nbsp;<BR>&nbsp;$avocados&nbsp;=&nbsp;6.02e23;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;scientific&nbsp;notation&nbsp;<BR>&nbsp;$pet&nbsp;=&nbsp;&amp;quot;Camel&amp;quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;string&nbsp;<BR>&nbsp;$sign&nbsp;=&nbsp;&amp;quot;I&nbsp;love&nbsp;my&nbsp;$pet&amp;quot;;&nbsp;&nbsp;&nbsp;#&nbsp;string&nbsp;with&nbsp;interpolation&nbsp;<BR>&nbsp;$cost&nbsp;=&nbsp;'It&nbsp;costs&nbsp;$100';&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;string&nbsp;without&nbsp;interpolation&nbsp;<BR>&nbsp;$thence&nbsp;=&nbsp;$whence;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;another&nbsp;variable&nbsp;<BR>&nbsp;$x&nbsp;=&nbsp;$moles&nbsp;*&nbsp;$avocados;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;an&nbsp;expression&nbsp;<BR>&nbsp;$cwd&nbsp;=&nbsp;`pwd`;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;string&nbsp;output&nbsp;from&nbsp;a&nbsp;command&nbsp;<BR>&nbsp;$exit&nbsp;=&nbsp;system(&amp;quot;vi&nbsp;$x&amp;quot;);&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;numeric&nbsp;status&nbsp;of&nbsp;a&nbsp;command&nbsp;<BR>&nbsp;$fido&nbsp;=&nbsp;new&nbsp;Camel&nbsp;&amp;quot;Fido&amp;quot;;&nbsp;&nbsp;&nbsp;#&nbsp;an&nbsp;object&nbsp;<BR>&nbsp;&lt;/PRE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Uninitialized&nbsp;variables&nbsp;automatically&nbsp;spring&nbsp;into&nbsp;existence&nbsp;as&nbsp;needed.&nbsp;<BR>&nbsp;Following&nbsp;the&nbsp;principle&nbsp;of&nbsp;least&nbsp;surprise,&nbsp;they&nbsp;are&nbsp;created&nbsp;with&nbsp;a&nbsp;null&nbsp;<BR>&nbsp;value,&nbsp;either&nbsp;&lt;TT&gt;&amp;quot;&amp;quot;&lt;/TT&gt;&nbsp;or&nbsp;&lt;TT&gt;0&lt;/TT&gt;.&nbsp;Depending&nbsp;on&nbsp;where&nbsp;you&nbsp;<BR>&nbsp;use&nbsp;them,&nbsp;variables&nbsp;will&nbsp;be&nbsp;interpreted&nbsp;automatically&nbsp;as&nbsp;strings,&nbsp;as&nbsp;numbers,&nbsp;<BR>&nbsp;or&nbsp;as&nbsp;&amp;quot;true&amp;quot;&nbsp;and&nbsp;&amp;quot;false&amp;quot;&nbsp;values&nbsp;(commonly&nbsp;called&nbsp;Boolean&nbsp;<BR>&nbsp;values).&nbsp;Various&nbsp;operators&nbsp;expect&nbsp;certain&nbsp;kinds&nbsp;of&nbsp;values&nbsp;as&nbsp;parameters,&nbsp;<BR>&nbsp;so&nbsp;we&nbsp;will&nbsp;speak&nbsp;of&nbsp;those&nbsp;operators&nbsp;as&nbsp;&amp;quot;providing&amp;quot;&nbsp;or&nbsp;&amp;quot;supplying&amp;quot;&nbsp;<BR>&nbsp;a&nbsp;scalar&nbsp;context&nbsp;to&nbsp;those&nbsp;parameters.&nbsp;Sometimes&nbsp;we'll&nbsp;be&nbsp;more&nbsp;specific,&nbsp;<BR>&nbsp;and&nbsp;say&nbsp;it&nbsp;supplies&nbsp;a&nbsp;numeric&nbsp;context,&nbsp;a&nbsp;string&nbsp;context,&nbsp;or&nbsp;a&nbsp;Boolean&nbsp;context&nbsp;<BR>&nbsp;to&nbsp;those&nbsp;parameters.&nbsp;(Later&nbsp;we'll&nbsp;also&nbsp;talk&nbsp;about&nbsp;list&nbsp;context,&nbsp;which&nbsp;is&nbsp;<BR>&nbsp;the&nbsp;opposite&nbsp;of&nbsp;scalar&nbsp;context.)&nbsp;Perl&nbsp;will&nbsp;automatically&nbsp;convert&nbsp;the&nbsp;data&nbsp;<BR>&nbsp;into&nbsp;the&nbsp;form&nbsp;required&nbsp;by&nbsp;the&nbsp;current&nbsp;context,&nbsp;within&nbsp;reason.&nbsp;For&nbsp;example,&nbsp;<BR>&nbsp;suppose&nbsp;you&nbsp;said&nbsp;this:&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;PRE&gt;$camels&nbsp;=&nbsp;'123';&nbsp;<BR>&nbsp;print&nbsp;$camels&nbsp;+&nbsp;1,&nbsp;&amp;quot;\n&amp;quot;;&nbsp;<BR>&nbsp;&lt;/PRE&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;The&nbsp;original&nbsp;value&nbsp;of&nbsp;&lt;TT&gt;$camels&lt;/TT&gt;&nbsp;is&nbsp;a&nbsp;string,&nbsp;but&nbsp;it&nbsp;is&nbsp;converted&nbsp;<BR>&nbsp;to&nbsp;a&nbsp;number&nbsp;to&nbsp;add&nbsp;&lt;TT&gt;1&lt;/TT&gt;&nbsp;to&nbsp;it,&nbsp;and&nbsp;then&nbsp;converted&nbsp;back&nbsp;to&nbsp;a&nbsp;string&nbsp;<BR>&nbsp;to&nbsp;be&nbsp;printed&nbsp;out&nbsp;as&nbsp;&lt;TT&gt;124&lt;/TT&gt;.&nbsp;The&nbsp;newline,&nbsp;represented&nbsp;by&nbsp;&lt;TT&gt;&amp;quot;\n&amp;quot;&lt;/TT&gt;,&nbsp;<BR>&nbsp;is&nbsp;also&nbsp;in&nbsp;string&nbsp;context,&nbsp;but&nbsp;since&nbsp;it's&nbsp;already&nbsp;a&nbsp;string,&nbsp;no&nbsp;conversion&nbsp;<BR>&nbsp;is&nbsp;necessary.&nbsp;But&nbsp;notice&nbsp;that&nbsp;we&nbsp;had&nbsp;to&nbsp;use&nbsp;double&nbsp;quotes&nbsp;there--using&nbsp;<BR>&nbsp;single&nbsp;quotes&nbsp;to&nbsp;say&nbsp;&lt;TT&gt;'\n'&lt;/TT&gt;&nbsp;would&nbsp;result&nbsp;in&nbsp;a&nbsp;two-character&nbsp;string&nbsp;<BR>&nbsp;consisting&nbsp;of&nbsp;a&nbsp;backslash&nbsp;followed&nbsp;by&nbsp;an&nbsp;&amp;quot;&lt;TT&gt;n&lt;/TT&gt;&amp;quot;,&nbsp;which&nbsp;<BR>&nbsp;is&nbsp;not&nbsp;a&nbsp;newline&nbsp;by&nbsp;anybody's&nbsp;definition.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;So,&nbsp;in&nbsp;a&nbsp;sense,&nbsp;double&nbsp;quotes&nbsp;and&nbsp;single&nbsp;quotes&nbsp;are&nbsp;yet&nbsp;another&nbsp;way&nbsp;<BR>&nbsp;of&nbsp;specifying&nbsp;context.&nbsp;The&nbsp;interpretation&nbsp;of&nbsp;the&nbsp;innards&nbsp;of&nbsp;a&nbsp;quoted&nbsp;string&nbsp;<BR>&nbsp;depends&nbsp;on&nbsp;which&nbsp;quotes&nbsp;you&nbsp;use.&nbsp;Later&nbsp;we'll&nbsp;see&nbsp;some&nbsp;other&nbsp;operators&nbsp;that&nbsp;<BR>&nbsp;work&nbsp;like&nbsp;quotes&nbsp;syntactically,&nbsp;but&nbsp;use&nbsp;the&nbsp;string&nbsp;in&nbsp;some&nbsp;special&nbsp;way,&nbsp;<BR>&nbsp;such&nbsp;as&nbsp;for&nbsp;pattern&nbsp;matching&nbsp;or&nbsp;substitution.&nbsp;These&nbsp;all&nbsp;work&nbsp;like&nbsp;double-quoted&nbsp;<BR>&nbsp;strings&nbsp;too.&nbsp;The&nbsp;&lt;I&gt;double-quote&lt;/I&gt;&nbsp;context&nbsp;is&nbsp;the&nbsp;&amp;quot;interpolative&amp;quot;&nbsp;<BR>&nbsp;context&nbsp;of&nbsp;Perl,&nbsp;and&nbsp;is&nbsp;supplied&nbsp;by&nbsp;many&nbsp;operators&nbsp;that&nbsp;don't&nbsp;happen&nbsp;to&nbsp;<BR>&nbsp;resemble&nbsp;double&nbsp;quotes.&nbsp;&lt;/P&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;H4&gt;&lt;A&nbsp;NAME=&quot;PERL2-CH-1-SECT-2.1.2&quot;&gt;&lt;/A&gt;Pluralities&lt;/H4&gt;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&lt;P&gt;Some&nbsp;kinds&nbsp;of&nbsp;variables&nbsp;hold&nbsp;multiple&nbsp;values&nbsp;that&nbsp;are&nbsp;logically&nbsp;tied&nbsp;<BR>

⌨️ 快捷键说明

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