基础

向函数中传递两个数组,使用指针
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的更多相关文章

  1. Perl基础速成

    本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项 ...

  2. Perl 基础语法

    Perl 基础语法 Perl借用了C.sed.awk.shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点. Perl 程序有声明与语句组成,程序自上而下执行,包含了循环, ...

  3. 2.Perl基础系列之入门

    官网提供的入门链接:http://perldoc.perl.org/perlintro.html 语法概述 Perl的安装步骤省略,直接去官网下载并按照提示安装即可. 如果Perl安装没问题,那么运行 ...

  4. perl基础:传递hash类型参数

    1 如果是只有一个参数要传,且是hash,最直接想到的办法就是像传其他类型参数一样直接传, 如:   subFuntion(%hash1); 2 如果有多于一个参数要传,这里假设只有一个参数的类型是h ...

  5. perl基础

    perl比较好的博客:http://www.cnblogs.com/cosiray/archive/2012/03/18/2404371.html 以分析一个简单的pm文件为例 # # オプションの取 ...

  6. 1.Perl基础系列之WHAT、WHY、HOW

    What? Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发. Why? Perl追求简洁快速地解决问题,可很方便 ...

  7. Perl基础(1)chop与chomp的区别

    chop是去掉字符串的最后一个字符 chomp是去掉"$/"指定的结尾符号 测试程序一: [perl] #!/bin/perl $tmp = "sincere" ...

  8. perl基础01

    参考:Perl教程 1.Perl简介 Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的. Perl具有高级语言的强大能 ...

  9. Perl基础语法

    一.脚本文件perl 代码可以写在一个文本文件中,以 .pl..PL 作为后缀.文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格.一个简单的Perl 文件名:rurun_ ...

随机推荐

  1. Git_基础命令

    gitinit//初始化一个Git仓库" role="presentation">gitinit//初始化一个Git仓库gitinit//初始化一个Git仓库 gi ...

  2. ps -ef

    status, msg = commands.getstatusoutput("ps -ef | grep start.sh | grep -Fv grep | awk '{print $1 ...

  3. css样式水平居中和垂直居中的方法

    水平居中(包含块中居中) 1. 定宽,左右margin为auto.(常规流块盒.弹性项目[不用定宽]) 例子:在box1盒子上设置宽,再设置margin:auto: <style> .bo ...

  4. Three.js类似于波浪的效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. react 基础语法使用

    刚开始不久react,在菜鸟上及其他前辈网站上学习,下面开始我的自学笔记. 包括: 渲染元素 组件(函数方法定义.es6 class定义) 事件处理 条件渲染 列表 下面代码部分将不会再写html部分 ...

  6. 使用maven构建dubbo服务的可执行jar包+Dubbo 程序实例

    https://blog.csdn.net/zsg88/article/details/76100482 https://blog.csdn.net/zsg88/article/details/762 ...

  7. windows环境变量和相关命令操作

    1.很多程序在windows上运行都需要设置环境变量. 2.具体步骤 复制路径 打开系统设置 高级系统设置 环境变量 设置path 重启cmd 3.可以把路径设置成变量,这样就不用随时 改path而是 ...

  8. dede_arctype|栏目表

    dede_arctype|栏目表: 字段 类型 整理 属性 Null 默认 额外 id smallint(5) UNSIGNED 是 NULL 栏目ID reid smallint(5) UNSIGN ...

  9. 配置好ssh互信还需要密码登录

    通过ssh-keygen生成公私钥之后,再使用 ssh-copy-id将公钥传送到远程用户.这两步完成后,验证是否能等免密登录,发现并不能. 问题排查: 1..ssh 目录的权限应为 700 auth ...

  10. Hive分区表创建、分类

    一.分区表创建与说明 必须在表定义时创建partition a.单分区建表语句:create table day_table (id int, content string) partitioned ...