基础

向函数中传递两个数组,使用指针
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. C++练习 | 铁轨问题

    #include <iostream> #include <cmath> #include <cstring> #include <string> #i ...

  2. python并发编程-进程理论-进程方法-守护进程-互斥锁-01

    操作系统发展史(主要的几个阶段) 初始系统 1946年第一台计算机诞生,采用手工操作的方式(用穿孔卡片操作) 同一个房间同一时刻只能运行一个程序,效率极低(操作一两个小时,CPU一两秒可能就运算完了) ...

  3. Linux-1.5日志查看常用命令

    常访问的日志目录:\data\log\(message系统 | secure安全 | maillog邮件) 进入日志目录 find \d1\data\log -name '*log' 在目录下查找以l ...

  4. Skills CodeForces - 613B (双指针)

    大意: $n$门课, 第$i$门分数$a_i$, 可以增加共$m$分, 求$cnt_{mx}*cf+mi*cm$的最大值 $cnt_{mx}$为满分的科目数, $mi$为最低分, $cf$, $cm$ ...

  5. Spring的AOP,Struts2的拦截器(Interceptor),以及springMVC的(interceptor)

    参考外链:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilter/ 1.首先,spring的AOP作用范围很广,可以使用Aspec ...

  6. Altium Designer 只导出PCB元器件及标号的PDF文件的方法

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 作者:struct_mooc 博客地址:https://www.cnblogs.com/stru ...

  7. 订单支付倒计时-剩余时间xx小时xx分xx秒

    //<input type="hidden" id="endTime" value="1554912000000"> 结束时间 ...

  8. Seeker:一款可获取高精度地理和设备信息的工具分析

    Seeker是一款可以获取高精度地理和设备信息的工具.其利用HTML5,Javascript,JQuery和PHP来抓取设备信息,以及Geolocation接口实现对设备高精度地理位置的获取. See ...

  9. JRebel最新破解激活版(IDEA自动部署插件)

    参考: https://www.52pojie.cn/thread-906163-1-1.html https://blog.csdn.net/xingbaozhen1210/article/deta ...

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

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