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_ ...
随机推荐
- Git_基础命令
gitinit//初始化一个Git仓库" role="presentation">gitinit//初始化一个Git仓库gitinit//初始化一个Git仓库 gi ...
- ps -ef
status, msg = commands.getstatusoutput("ps -ef | grep start.sh | grep -Fv grep | awk '{print $1 ...
- css样式水平居中和垂直居中的方法
水平居中(包含块中居中) 1. 定宽,左右margin为auto.(常规流块盒.弹性项目[不用定宽]) 例子:在box1盒子上设置宽,再设置margin:auto: <style> .bo ...
- Three.js类似于波浪的效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- react 基础语法使用
刚开始不久react,在菜鸟上及其他前辈网站上学习,下面开始我的自学笔记. 包括: 渲染元素 组件(函数方法定义.es6 class定义) 事件处理 条件渲染 列表 下面代码部分将不会再写html部分 ...
- 使用maven构建dubbo服务的可执行jar包+Dubbo 程序实例
https://blog.csdn.net/zsg88/article/details/76100482 https://blog.csdn.net/zsg88/article/details/762 ...
- windows环境变量和相关命令操作
1.很多程序在windows上运行都需要设置环境变量. 2.具体步骤 复制路径 打开系统设置 高级系统设置 环境变量 设置path 重启cmd 3.可以把路径设置成变量,这样就不用随时 改path而是 ...
- dede_arctype|栏目表
dede_arctype|栏目表: 字段 类型 整理 属性 Null 默认 额外 id smallint(5) UNSIGNED 是 NULL 栏目ID reid smallint(5) UNSIGN ...
- 配置好ssh互信还需要密码登录
通过ssh-keygen生成公私钥之后,再使用 ssh-copy-id将公钥传送到远程用户.这两步完成后,验证是否能等免密登录,发现并不能. 问题排查: 1..ssh 目录的权限应为 700 auth ...
- Hive分区表创建、分类
一.分区表创建与说明 必须在表定义时创建partition a.单分区建表语句:create table day_table (id int, content string) partitioned ...