13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

可 以 向 语 言 中 增 加 新 的 动 词 而 不 会 破 坏 旧 脚 本 。( 我 们 告 诉 过 你 <strong>Perl</strong> 被 设 计 成 是 可 以 进 化的 语 言 。) 名 词 也 一 样 , 在 英 语 和 其 他 语 言 中 为 了 满 足 语 法 需 要 有 很 多 前 缀 。 这 就 是 我 们 的想 法 。1.2.2 单 数 变 量从 我 们 前 面 的 例 子 中 可 以 看 到 ,<strong>Perl</strong> 中 的 标 量 象 其 他 语 言 一 样 , 可 以 用 = 对 它 进 行 赋 值 ,在 <strong>Perl</strong> 中 标 量 可 以 赋 予 : 整 数 , 浮 点 数 , 字 符 串 , 甚 至 指 向 其 他 变 量 或 对 象 的 引 用 这 样 深奥 的 东 西 。 有 很 多 方 法 可 以 对 标 量 进 行 赋 值 。与 Unix ( 注 : 我 们 在 这 里 和 其 他 所 有 地 方 提 到 Unix 的 时 候 , 我 们 指 的 是 所 有 类 Unix 系统 , 包 括 BSD,Linux, 当 然 还 包 括 Unix) 中 的 shell 编 程 相 似 , 你 可 以 使 用 不 同 的 引号 来 获 得 不 同 的 值 , 双 引 号 进 行 变 量 代 换 ( 注 : 有 时 候 shell 程 序 员 叫 “ 替 换 ”, 不 过 , 我们 宁 愿 在 <strong>Perl</strong> 里 把 这 个 词 保 留 给 其 他 用 途 。 所 以 请 把 它 称 之 为 “ 代 换 ”。 我 们 使 用 的 是 它 的字 面 意 思 (“ 这 段 话 是 某 种 宗 教 代 换 ”), 而 不 是 其 数 学 含 义 (“ 图 上 这 点 是 另 外 两 点 的 插 值 ”))和 反 斜 扛 代 换 ( 比 如 把 \n 转 换 成 新 行 ). 而 反 勾 号 ( 那 个 向 左 歪 的 引 号 ) 将 执 行 外 部 程序 并 且 返 回 程 序 的 输 出 , 因 此 你 可 以 把 它 当 做 包 含 所 有 输 出 行 的 单 个 字 串 .• $answer = 42; # 一 个 整 数• $pi = 3.14159265 # 一 个 " 实 " 数• $pet = "Camel"; # 字 串• $sign = "I ove my $pet"; # 带 代 换 的 字 串• $cose = 'It cose $100'; # 不 带 代 换 的 字 串• $thence = $whence; # 另 一 个 变 量 的 数 值• $salsa = $moles * $avocados; # 一 个 胃 化 学 表 达 式• $exit = system("vi $file"); # 一 条 命 令 的 数 字 状 态• $cwd = `pwd`; # 从 一 个 命 令 输 出 的 字 串上 面 我 们 没 有 涉 及 到 其 他 一 些 有 趣 的 值 , 我 们 应 该 先 指 出 知 道 标 量 也 可 以 保 存 对 其 他 数 据 结构 的 引 用 , 包 括 子 程 序 和 对 象 .如 果 你 使 用 了 一 个 尚 未 赋 值 的 变 量 , 这 个 未 初 始 化 的 变 量 会 在 需 要 的 时 候 自 动 存 在 . 遵 循 最小 意 外 的 原 则 , 该 变 量 按 照 常 规 初 始 化 为 空 值 ,"" 或 0. 根 据 使 用 的 地 方 的 不 同 , 变 量 会被 自 动 解 释 成 字 符 串 , 数 字 或 " 真 " 和 " 假 "( 通 常 称 布 尔 值 ). 我 们 知 道 在 人 类 语 言 中 语 言 环境 是 十 分 重 要 的 . 在 <strong>Perl</strong> 中 不 同 的 操 作 符 会 要 求 特 定 类 型 的 单 数 值 作 为 参 数 . 我 们 就 称 之为 这 个 操 作 符 给 这 些 参 数 提 供 了 一 个 标 量 的 环 境 . 有 时 还 会 更 明 确 , 比 如 说 操 作 符 会 给 这 些13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!