perl 中的or与||的区别
来看看下面的代码会输出什么?
my $a = 0;
$a = $a or 1;
print $a, "\n";
$a = $a || 1;
print $a, "\n";
输出:
0
1
为什么呢?因为||, =, or 这三者优先级从左至右逐渐降低。
所以,这样写可以:
chomp(my $filename = shift( @ARGV ) || <STDIN>);
这样则不行:
chomp(my $filename = shift( @ARGV ) or <STDIN>);
会提示如下错误:
Can't modify logical or (||) in chomp
相关推荐
-
Perl中chomp和chop的区别介绍
chomp是用来删除换行符. 复制代码 代码如下: #!/usr/bin/perl $c="abcde"; chomp($c); print "$c\n"; [root@ak]# perl a.pl abcde chop是用来删除最后一个字符. 复制代码 代码如下: #!/usr/bin/perl $c="abcde"; chop($c); print "$c\n"; [root@ak]# perl a.pl abcd cho
-
perl中my与our的区别介绍
先来看下our的用法. require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 strict 以为它是一个词法变量,其实却不是. 有一个简单的办法可以理解 our:1,
-
perl中my和our的区别分析
perl中our的用法require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 strict 以为它是一个词法变量,其实却不是. 有一个简单的办法可以理解 our:1,你
-
perl 中的or与||的区别
来看看下面的代码会输出什么? 复制代码 代码如下: my $a = 0;$a = $a or 1;print $a, "\n";$a = $a || 1;print $a, "\n"; 输出:01为什么呢?因为||, =, or 这三者优先级从左至右逐渐降低.所以,这样写可以:chomp(my $filename = shift( @ARGV ) || <STDIN>); 这样则不行:chomp(my $filename = shift( @ARGV )
-
perl中chomp的使用介绍(chop和chomp函数区别)
例子: 复制代码 代码如下: #!/bin/perlprint "Please input an string and a number by order!\n"; $the_string=<>; $the_numb=<>; print "The result is \n"; print "$the_string"x"$the_numb"; 结果:The result is my my
-
Perl中的真与假深入研究
Perl认为真值是自明的(self-evident), 表示任何事物的真值都可以计算.Perl以实用的方式来定义真值,即一个实体的真值取决于这个实体的类型.Perl总是乐观的认为:这个世界上真的东西远比假的东西多的多. Perl区别与任何其他计算机语言,Perl是语言学家创造的,而语言的意思离不开上下文语境,所以Perl中的真值都可以在标量(标量$与数组@类似于英文中的单数与复数, book 与 books的区别, 真值在现实世界中,应该就是单数,所以是标量)计算,除此之外,不会做任何类型的强制
-
Perl中的文件读写学习笔记
一.打开.关闭文件 语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径. 复制代码 代码如下: open(FILE1,"file1"); open(FILE1, "/u/jqpublic/file1"); 打开文件时必须决定访问模式,在PERL中有三种访问模式:读.写和添加.后两种模式的区别在于写模式将原文件覆盖,原有内容丢失,形式为
-
perl中的字符串操作函数chomp与chop介绍
chomp与chop都是用于去除字符串变量尾部的字符,但它们有各自的区别. chomp函数对变量起作用,而此变量含有字符串.如果字符串结尾有换行符,chomp可以去掉它.这基本上就是它能完成的所有功能,如下例: 复制代码 代码如下: $text="alineoftext\n "; #也可以由<STDIN>输入 chomp($text); #去掉换行符(\n). 它非常有用,基本上你的每一个程序都会用到它.如你将知道,这是将字符串末尾换行符去掉的最好方法.基于
-
Perl中use和require用法对比分析
Perl use和require用法对比 对比(一)说明:这两个函数都是一个意思,加载和引用Perl的模块,或者是子程序, 区别在于Perl use是在当前默认的里面去寻找,一旦模块不在指定的区域内的化,用Perl use是不可以引入的 第一.Perl use引入的名称不需要后缀名,而require需要第二.Perl use语句是编译时引入的,require是运行时引入的第三,Perl use引入模块的同时,也引入了模块的子模块.而require则不能引入,要在重新声明 Perl use my
-
C++ 中引用与指针的区别实例详解
C++ 中引用与指针的区别实例详解 引用是从C++才引入的,在C中不存在.为了搞清楚引用的概念,得先搞明白变量的定义及引用与变量的区别,变量的要素一共有两个:名称与空间. 引用不是变量,它仅仅是变量的别名,没有自己独立的空间,它只符合变量的"名称"这个要素,而"空间"这个要素并不满足.换句话说,引用需要与它所引用的变量共享同一个内存空间,对引用所做的改变实际上是对所引用的变量做出修改.并且引用在定义的时候就必须被初始化. 参数传递的类型及相关要点: 1 按值
随机推荐
- 基于VUE.JS的移动端框架Mint UI的使用
- JS库之Three.js 简易入门教程(详解之一)
- Linux下使用inode删除指定文件方法示例
- JAVAWEB实现简单的商城项目(一)实例代码解析
- 详解高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)
- ASP.NET Internet安全Forms身份验证方法
- javascript鼠标滑过显示二级菜单特效
- VC创建进程CreateProcess的方法
- Yii框架实现多数据库配置和操作的方法
- Linux平台PHP5.4设置FPM线程数量的方法
- 叶子asp分页类
- JSP 中Spring组合注解与元注解实例详解
- 简单的网页广告特效实例
- javascript解析xml实现省市县三级联动的方法
- python实现按行切分文本文件的方法
- c#枚举值增加特性说明(推荐)
- Android开发时尽管已root但是ddms还是没有data路径怎么办
- Android App使用RecyclerView实现上拉和下拉刷新的方法
- 值得收藏的vuejs安装教程
- 微信小程序实现鼠标拖动效果示例