perl-基础

1、Perl 语法入门:

 1、print 语句:

print "Hello, world\n";
print("Hello, world\n");

2、引号:

 Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。

3、perl数据类型:

  1、标量:$myfirst=123;

  2、数组:@arr=(1,2,3);

@names = ('google', 'runoob', 'taobao');
@copy = @names;   # 复制数组
$size = @names;   # 数组赋值给标量,返回数组元素个数
push(@sites, "baidu"); # 在数组结尾添加一个元素
unshift(@sites, "weibo"); # 在数组开头添加一个元素
pop(@sites); # 删除数组末尾的元素
shift(@sites);# 移除数组开头的元素
# 用split()方法将字符串转为数组
@string = split('-', $var_string);
# 用join()方法将数组转为字符串
$string1 = join( '-', @string );

  3、散列:%h=('a'=>1,'b'=>2);

%data = ('google', 45, 'runoob', 30, 'taobao', 40);
print "\$data{'google'} = $data{'google'}\n";
$size = @keys; # 赋值给标量,返回元素个数
使用 keys 函数读取哈希所有的键:keys %HASH
%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
@names = keys %data;
使用 values 函数来读取哈希所有的值:values %HASH
%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
@urls = values %data;

3、perl流程控制:

  1、if语句:

$a = 100;
# 使用 == 判断两个数是否相等
if( $a  ==  20 ){# 条件为 true 时执行printf "a 的值为 20\n";
}elsif( $a ==  30 ){# 条件为 true 时执行printf "a 的值为 30\n";
}else{# 以上所有的条件为 false 时执行printf "a 的值为 $a\n";
}

  2、case语句:

use Switch;
$var = 10;
@array = (10, 20, 30);
%hash = ('key1' => 10, 'key2' => 20);switch($var){case 10           { print "数字 10\n" }case "a"          { print "字符串 a" }case [1..10,42]   { print "数字在列表中" }case (\@array)    { print "数字在数组中" }case (\%hash)     { print "在哈希中" }else              { print "没有匹配的条件" }
}

  2、for语句:

# 执行 for 循环
for( $a = 0; $a < 10; $a = $a + 1 ){print "a 的值为: $a\n";
}

  3、foreach语句:

@list = (2, 12, 36, 42, 51);
# 执行foreach 循环
foreach $a (@list){print "a 的值为: $a\n";
}

   last 语句用于退出循环语句块;

  continue 块通常在条件语句再次判断前执行。

  foreach $a (@listA){   statement(s);   }continue{   statement(s);   }

4、perl函数及子程序:

# 函数定义
sub Hello{print "Hello, World!\n";
}
# 函数调用
Hello();

  1、perl 函数传参:

  Perl 子程序可以和其他编程一样接受多个参数,子程序参数使用特殊数组 @_ 标明。

  因此子程序第一个参数为 $_[0], 第二个参数为 $_[1], 以此类推。

  不论参数是标量型还是数组型的,用户把参数传给子程序时,perl默认按引用的方式调用它们。

# 定义求平均值函数
sub Average{# 获取所有传入的参数$n = scalar(@_);$sum = 0;foreach $item (@_){$sum += $item;}$average = $sum / $n;print '传入的参数为 : ',"@_\n";           # 打印整个数组print "第一个参数值为 : $_[0]\n";         # 打印第一个参数print "传入参数的平均值为 : $average\n";  # 打印平均值
}
# 调用函数
Average(10, 20, 30);

子程序可以向其他编程语言一样使用 return 语句来返回函数值。

如果没有使用 return 语句,则子程序的最后一行语句将作为返回值。

 

转载于:https://www.cnblogs.com/littleMa/p/5311303.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wdk1703+vs2015编译的诡异问题

wdk1703vs2015编译的诡异问题 最近将wdk升级到1703&#xff08;10.0.15063.0&#xff09;版本&#xff0c;编译一个新建的minifiter项目居然出现了失败 提示错误为 WindowsDriver.common.targets(460,5): error MSB6004: The specified task executable location "\stampi…

centos6虚拟机复制后修改网卡

方法1&#xff1a; 使用vmware创建centos6.4虚拟机&#xff0c; 创建完成后复制该虚拟机&#xff0c; 打开复制的虚拟机发现网卡名字是eth1&#xff0c;而网卡配置文件为eth0&#xff0c;mac地址变了 这时修改网卡配置文件&#xff0c; 删除uuid&#xff0c;修改deivce为eth1&a…

【pyinstaller打包pyqt5编写的项目为exe(脱离环境可运行)】

目录 下载pyinstaller库 0、pyinstaller语句介绍 1、单个py文件打包成exe 1)只有py文件 假设只有一个py文件&#xff1a;pyinstaller -F xxx.py 加上图标&#xff1a;pyinstaller -F xxx.py -i xxx.ico 取消命令行窗口:pyinstaller -F -w xxx.py -i xxx.ico 2) 不但有py…

熔化极气体保护电弧焊简介

1概述 熔化极气体保护电弧焊&#xff08;英文简称GMAW&#xff09;是采用连续等速送进可熔化的焊丝与被焊工件之间的电弧作为热源来熔化焊丝和母材金属&#xff0c;形成熔池和焊缝的焊接方法&#xff0c;如图1所示。为了得到良好的焊缝应利用外加气体作为电弧介质并保护熔滴、熔…

python 中cPickle学习二

写入&#xff1a; import cPickle as p shoplistfile data.data shoplist [meili,[current_account,[100000,1222],basis_account,[5555555,888]],qinshan,[current_account,[1089000,12292],basis_account,[55555955,888]],jiayou,[current_account,[10000,12292],basis_acc…

4.0 多线程基础篇

本文并非最终版本&#xff0c;如有更新或更正会第一时间置顶&#xff0c;联系方式详见文末如果觉得本文内容过长&#xff0c;请前往本人 “简书”4.0-1.1 进程 概念 : 进程是指在系统中正在运行的一个应用程序 (操作系统中每一个 APP 就是一个进程)  性质 : 每个进程之间是独…

【python pandas excel操作】

目录 1、打开Excel&#xff0c;获取不同sheet的名称 2、获取不同sheet的内容 3、 获取行数以及表头 4、对某一列的信息进行筛选 5、根据列号和索引号提取一行或者一列的数据 6、其他panda对Excel的操作 摘自&#xff1a;python对excel操作获取某一列&#xff0c;某一行的值…

焊接机器人应用现状及发展趋势

据不完全统计&#xff0c;全世界在役的工业机器人中大约有将近一半的工业机器人用于各种形式的焊接加工领域&#xff0c;焊接机器人应用中最普遍的主要有两种方式&#xff0c;即点焊和电弧焊。图4所示是这两种焊接机器人在工业机器人中所占的大致比例。我们所说的焊接机器人其实…

线性期望(BUPT2015校赛.F)

将整体期望分成部分期望来做。 F. network 时间限制 3000 ms 内存限制 65536 KB题目描述 A social network is a social structure made up of a set of social actors (such as individuals or organizations) and a set of the relationships between these actors. In simp…

【pyqt5学习】——进度条progressBar

# 进度条 self.progressBar.setValue(0) # 设置进度条的最小值 self.progressBar.setMaximum(100) # 设置进度条的最大值 # 设置进度条当前值 self.progressBar.setValue((int(curindex/excelNum)*100)) 常用方法 方法值说明setRangeQProgressBar.setRange(min, Max)通过 setR…

弧焊 不同气体对焊缝的影响 100二氧化碳 15%氩气CO2混合

Ar含量提高后&#xff0c;相比原来的100%CO2成本会提高很多。 Ar的密度比CO2小&#xff0c;焊接的焊枪必须压的很低&#xff0c;如果焊接结构中有一些狭小区域&#xff0c;焊枪则无法到达。纯CO2气体保护焊&#xff0c;焊丝可伸出较长。 Ar属于惰性气体&#xff0c;焊接时…

Windows和Linux如何使用Java代码实现关闭进程

在用selenium做自动化测试时&#xff0c;由于各种不明原因&#xff0c;有时Chrome浏览器会出现假死的情况&#xff0c;也就是整个浏览器响应超时&#xff0c;本人脚本主要部署在Windows机器上&#xff0c;所以主要以Windows为主&#xff0c;浏览器为Chrome,即如下图所示 或者由…

CSS之A标签

a标签&#xff0c;超级链接 a是英语anchor锚的意思。 a标签常用的就是三个属性&#xff1a; 1 <a href"网址" title"悬停文本" target"_blank">超级链接文字</a> 页面内的锚点&#xff0c;用name属性或者id属性 1 …

【pyqt5学习】——下拉框comboBox

# 向下拉框中添加选型&#xff0c;具体为在下拉框第index1个选型设置为内容name self.comboBox.addItem(name,index1) # 将下拉框中所有的选项删除 self.comboBox.clear() # 根据索引获取当前的下拉框内容 index self.comboBox.currentIndex() text self.comboBox.itemText(i…

安装scapy遇到的问题

1. Mac平台 在mac上安装scapy可以说是困难重重&#xff0c;一来因为scapy实在有些小众和老旧&#xff0c;再加上安装说明文档都是python2.5 也没有详细说明一些安装问题。 折腾了大概三个小时之后终于解决了这个老大难。 注&#xff1a;我的环境为anaconda2.3 - python2.7.10 一…

DAY5-小别-2018-1-15

有两天没有写了&#xff0c;前天考完试出去浪了&#xff0c;惭愧自己没有学习&#xff1b;昨天&#xff0c;启程回家看完了循环内容的视频&#xff0c;晚上十点半火车到站&#xff0c;没抽出时间写了&#xff0c;还看了《黑客帝国》&#xff0c;有点小感触&#xff0c;人工智能…

【文件处理】——Python pandas 写入数据到excel中

目录 1、创建一个新的excel表格 2、 获取写入excel的数据data 3、将data类型转换为pandas接受的类型 4、写入到excel中 5、保存excel 最终结果 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/11/9 23:18 # Author : linlianqin # Site : # File …

centerOS安装chkrootkit

Chkrootkit是一个在本地系统检查rootkit痕迹的工具&#xff0c;它是检查系统二进制文件是否被rootkit病毒修改的一个shell脚本。 &#xff08;1&#xff09;centerOS安装chkrootkit 安装gcc编译环境yum install gcc gcc-c make -y 安装chkrootkit.tar.gz 解压后执行 #make sens…

微软Visual Studio 2012软件功能介绍

对于从事.net程序开发的我们&#xff0c;都要用到C#依附的Visual Studio平台!Visual Studio是目前最流行的Windows平台应用程序开发环境。最新版本为 Visual Studio 2012 版本&#xff0c;基于 NET Framework4.5 。. Visual Studio 2012内置的测试工具可以帮助开发者打造高质量…