1. Perl中变量的常用表示

   ${var} 相当于 $var

   $Dog::days  在Dog包里面的变量$days

   $#days  @days 的最后一个索引

   $days->[]  $days 引用的数组的的第3个元素

   $days[][]  多维数组

   $days{}{'Feb'}  多维哈希

   $days{,"Feb"}  多维哈希仿真 emulation

   @days[,,]  数组@days的对应3个元素的片段,也可写作 @days[..]

   @days{'Jan','Feb'}  包含 $days{'Jan'} 和 $days{'Feb'}的值的散列片段, 如果是写作 %days{'Jan','Feb'}  则同时包含键和值. 但是不能用 $days{'Jan','Feb'},因为是列表上下文.

2. Perl中的名字空间(namespace)

  分为符号表(symbol table) 和词法作用域(lexical scope)两种

  符号表: 全局散列, 存储存放全局变量的符号表的记录

  词法作用域: 未命名的中间结果暂存器, 不会存在于任何符号表,  只是附着在程序的一块代码后面.

3. Perl 中的引起构造

 
常用 通用 含义 可否内插
' ' q/ / 直接量字符串 No
" " qq/ / 直接量字符串 Yes
`` qx/ / 执行命令 Yes
() qw/ / 单词列表 Yes
/ / m/ / 模式匹配 Yes
s/ / / s/ / / 模式替换 Yes
y/ / / tr/ / / 字符转换 No
"  " qr/ / 正则表达式 Yes

这些简写是为了方便写出更容易阅读的代码

$single = q!I said, "you said, 'she said it.'" !;
$double = qq(Can't we get some "good");

Perl语言编程>>学习笔记2的更多相关文章

  1. Perl语言编程>>学习笔记

    1. 使用反引号可以调用外部程序并返回程序的输出, 如  $cwd = `pwd`; 2. Perl 中的变量类型之间的区别主要是单数和复数; 单数变量称为标量 $scalar , 复数变量称为数组 ...

  2. Linux C语言编程学习笔记 (1)进程控制入门

    想进行Linux系统开发已经很久了,一直没有付诸实践.今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实 ...

  3. 【C语言编程学习笔记】利用462字节代码实现雅虎logo ACSII 动画!

    ACSII 动画演示:   不过本文介绍的是另一个作品:c 代码实现雅虎 logo ACSII 动图. 运行后,你将会看到:   它是一个 20fps.抗锯齿的 Yahoo! logo ASCII 动 ...

  4. linux下的c语言编程学习笔记

    视频参看csdn学院王阳和下面的linux环境下c语言编程基础相当的经典,其中王阳的视频讲的很好,相当的经典 编译hellogcc.c需要依赖/home目录下的头文件 为了避免同一个文件被includ ...

  5. 【C语言/C++编程学习笔记】:通俗易懂讲解 - 链表!学不会?不存在的!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  6. 多线程编程学习笔记——async和await(一)

    接上文 多线程编程学习笔记——任务并行库(一) 接上文 多线程编程学习笔记——任务并行库(二) 接上文 多线程编程学习笔记——任务并行库(三) 接上文 多线程编程学习笔记——任务并行库(四) 通过前面 ...

  7. 转 网络编程学习笔记一:Socket编程

    题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有 ...

  8. 并发编程学习笔记(4)----jdk5中提供的原子类及Lock使用及原理

    (1)jdk中原子类的使用: jdk5中提供了很多原子类,它会使变量的操作变成原子性的. 原子性:原子性指的是一个操作是不可中断的,即使是在多个线程一起操作的情况下,一个操作一旦开始,就不会被其他线程 ...

  9. MySQL基础之事务编程学习笔记

    MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理 ...

随机推荐

  1. java项目-----客户端与客户端通信--实现群聊功能的代码

    这是这个网络聊天室项目的原理图: 很简单,首先ABCD是4个客户端,当A发送信息给服务器,服务器实现以广播的形式把信息全发给每个人---群发群聊 客户端代码: package com.aa; impo ...

  2. hadoop Shuffle Error OOM错误分析和解决

    在执行Reduce Shuffle的过程中,偶尔会遇到Shuffle Error,但是重启任务之后,Shuffle Error会消失,当然这只是在某些特定情况下才会报出来的错误.虽然在每次执行很短的时 ...

  3. 20181110_wait和async

    一. Awit和async的由来: await/async本身是一个语法糖,编译器提供的一个简化编程的功能; 在C#升级和.net Framework升级的时候, 产生的, 所以说并不是CLR的产物 ...

  4. 敌兵布阵hdu1166

    /* 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. pubmed检索完全攻略

    第一章 进入PubMed魔法学校--PubMed 概述 有位退休的老教授不止一次的向我感叹:"你们现在真是幸福,我们那时候要查一篇相关的文献,要到图书馆一本一本目录去检索.尤其是做一些别人不 ...

  6. 100.64.0.0/10运营商级(Carrier-grade)NAT保留IP地址

    在一次跟踪路由的网络操作时发现自己路由器下一跳路由节点的IP地址比较奇怪,是100.64.0.1.好奇促使我查询了这个IP地址的归属,结果是保留地址,到这里觉得比较奇怪了,按照常理以IPv4为例保留的 ...

  7. cisco 三层交换机通信

    前言 之前学了交换机和路由器今次学三层交换机的通信. 正文 准备:cisco模拟器 一台三层交换机 两台PC 配置命令如下 enable config t vlan 10 exit vlan 20 e ...

  8. Python Twisted系列教程21: Twisted和Haskell

    作者:dave@http://krondo.com/twisted-and-haskell/  译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅读:也可以从”Twisted ...

  9. ftplib模块编写简单的ftp服务

    from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...

  10. 关于where和having的直观理解

    一,查询区别 where是对前面select的字段没有要求,直接查询库表的 having是对前面的select的字段有要求,字段已经select出来的 可以用having进行处理 select id, ...