perl基础-1
基础
向函数中传递两个数组,使用指针
sub getSql{(my a,my b)=@_;my @array=@$a;}
my @a;my @b;
getSql(\@a,\@b);
length($str);获取字符串长度
my $length=@array;获取数组长度
my @array=split(//,$str);将字符串按照空格隔开,形成数组,//之间放隔开字符串的根据
\s代表空格,\r\n代表文件换行
my $str="perl";
$str."hello" 将两个字符串连接在一起,结果为"perlhello"
比较两个字符串不能用==,用eq表示相等,ne表示不等
push(@array,str)把str放到@array数组里
uc($stt)转换成大写 lc($str)转换成小写
@ARGY 获取命令行输入
my (\$str)=@ANGY; ==> my \$str=$ARGY[0];
在函数体内使用shift来获取传入函数的数组元素;
定义数组用@
连接数据库
Postgre数据库
1、
$dbh=DBI->($constr,$user,$pwd);
$dbh->do("sql语句");
$sth=$dbh->prepare("sql语句");
$sth->execute();
while(@line=$sth->fetchrow_array())
{
print("@line\n");
}
$sth->finish();
$dbh->disconnect();
2、
my $psql="psql -a -h localhost -d Test -U postgres";
mysql -h localhost -u root -p
open(PSQL,"| $psql");
print PSQL<<ENDOFINPUT;
select * from student;
ENDOFINPUT
close(PSQL);
函数
函数可有参,可无参
shift 后跟一个数组,表示将数组的第一个值返回。数组也被改变,其第一个元素被弹出
对字符串的操作
http://blog.sina.com.cn/s/blog_68b01b370102we51.html
切割:
$text="Michael,Gevin,Mike"; @name=split(/,/,$text); #这时@name=("Michael","Gevin","Mike");
(a,b,$c)=split(/,/,$text); #这时$a="Michael";$b="Gevin";$c="Mike";
@name=split(/,/,$string,2); #这时@name=("Michael","Gevin");
数组长度: length($string)
substr
语法:substr($string,offset,length) offset代表起始字符的位置,length代表引用的字符串长度,如果省略length则代表从起始值到字符串的最后一个字符长度。而offset如果是负值的话,就会从字符串右边开始指定字符。
示例:
$s=substr("perl5",2,2); #这时$s="rl";
$s=substr("perl5",2); #这时$s="rl5";
$s=substr("perl5",-2,2); #这时$s="er";
index
语法:index($string,$substring,position) $substring是要寻找的字符;position代表从哪一个位置开始寻找,假如省略position就从头开始找起。
说明:返回所要找寻的字符在一字符串$string中的位置,如果在字符串中找不到字符的话,则会返回-1这个值。
示例:
$s=index("perl5","p"); #这时$s=0
$s=index("perl5","l",2); #这时$s=3
$s=index("perl5","perl"); #这时$s=-1
push
语法:push(@array,$string)
说明:在数组@array的最后附加新的元素 ($string)到数组@array中。
示例:
@array=("one","two"); push(@array,"three");
#这时$@array=("one","two","three")
pop
语法:pop(@array)
说明:将数组(@array)的最后一个元素删除,并将删除的元素返回。
示例:
@array=("one","two"); rm=pop(@array); #这时@array=("one");而rm="two";
unshift
语法:unshift(@array,$string) 说明:在数组@array的第一个元素前附加新的元素$string到数组@array中。
示例:
@array=("one","two"); unshift(@array,"three"); #这时@array=("three","one","two")
shift
语法:shift(@array)
说明:将数组@array的第一个元素删除,并将删除的元素返回。
示例:
@array=("one","two"); @rm=shift(@array);
#这时@array=("two");而$rm="one";
join
语法:join($string,@array)
说明:在一数组@array的元素之间加上一指定的字符$string,并将结果返回。
示例:
@array=("one","two","three");
$total=join(":",@array); #这时$total="one:two:three";
rand
语法:rand($interger)
说明:常和函数srand搭配来取得一随机数,如果没有先宣告stand函数的话,则取出的常数值是一个固定值。这个语法会返回一个介于0和$interger之间的数值,如果$interger省略的话,则会返回一个介于0和1 的数值。
示例:
srand; #要先宣告srand函数,才能产生随机数的效果
$int=rand(10); #$int的值会大于0而且小于10如果希望产生的乱数是整数的话,就要再加上int #这个函数
$int=int(rand(10)); #$int的值是一个整数,且值在0和9之间
perl基础-1的更多相关文章
- Perl基础速成
本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项 ...
- Perl 基础语法
Perl 基础语法 Perl借用了C.sed.awk.shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点. Perl 程序有声明与语句组成,程序自上而下执行,包含了循环, ...
- 2.Perl基础系列之入门
官网提供的入门链接:http://perldoc.perl.org/perlintro.html 语法概述 Perl的安装步骤省略,直接去官网下载并按照提示安装即可. 如果Perl安装没问题,那么运行 ...
- perl基础:传递hash类型参数
1 如果是只有一个参数要传,且是hash,最直接想到的办法就是像传其他类型参数一样直接传, 如: subFuntion(%hash1); 2 如果有多于一个参数要传,这里假设只有一个参数的类型是h ...
- perl基础
perl比较好的博客:http://www.cnblogs.com/cosiray/archive/2012/03/18/2404371.html 以分析一个简单的pm文件为例 # # オプションの取 ...
- 1.Perl基础系列之WHAT、WHY、HOW
What? Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发. Why? Perl追求简洁快速地解决问题,可很方便 ...
- Perl基础(1)chop与chomp的区别
chop是去掉字符串的最后一个字符 chomp是去掉"$/"指定的结尾符号 测试程序一: [perl] #!/bin/perl $tmp = "sincere" ...
- perl基础01
参考:Perl教程 1.Perl简介 Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的. Perl具有高级语言的强大能 ...
- Perl基础语法
一.脚本文件perl 代码可以写在一个文本文件中,以 .pl..PL 作为后缀.文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格.一个简单的Perl 文件名:rurun_ ...
随机推荐
- 谷歌官方颜色库 MaterialDesignColor
谷歌官方颜色库 MaterialDesignColor
- CVE-2018-20169漏洞学习
简介 在4.19.9之前的Linux内核中发现了一个问题.USB子系统在读取与驱动程序/ USB /core/usb.c中的_usb_get_extra_descriptor相关的额外描述符时错误地检 ...
- Ruby Rails正式学习:Ruby on Rails 做个演示项目吧,逐渐完善
项目开始 一. 新建Rails项目 1. 修改一下Gemfile文件(简单修改一下) source 'https://rubygems.org' git_source(:github) { |repo ...
- CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站
本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [root@Shining ~] ...
- linux安装git服务器和svn服务器
linux版本 linux版本为CentOS 6.8 (要注意有些软件的安装方法在各个linux版本之间也是存在差异的) git服务器 git服务器需要提供一个UI供开发人员创建项目管理项目,选择使用 ...
- Bat批处理文件入门
这个东西吧,感觉在使用windows时作用不是很大,毕竟在windows环境下命令行确实用的比较少,但有时候也会用到,比如测试算法程序时使用批处理+文件可以省去每次手动输入.赶巧最近对批处理也比较感兴 ...
- axios设置了responseType: 'json‘’,ie问题
在ie会有问题 如果返回的数据会变成字符串 在拦截器中用json.parse转 // 在axios的响应头中设置~~~ axios.interceptors.response.use( respons ...
- oracle服务端字符集
一.oracle服务端字符集 SQL> select userenv('language') from dual ; USERENV('LANGUAGE')------------------- ...
- 垃圾回收gc --翻译
原文在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management.基本保持了平译,并在一些地方做了概念解释.(转 ...
- 个人小应用服务器安装搭建,HP 360p Gen9 使用winpe安装centos[一]
以前用aws的时候使用的ec2, 里面可选的windows server搭配umbraco的cms做了自己的个人网站,主要是当年项目需要,使用aws,我也办了国际币种卡,在组里各种联系亚马逊开服务,后 ...