基础

向函数中传递两个数组,使用指针
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. 谷歌官方颜色库 MaterialDesignColor

    谷歌官方颜色库 MaterialDesignColor

  2. CVE-2018-20169漏洞学习

    简介 在4.19.9之前的Linux内核中发现了一个问题.USB子系统在读取与驱动程序/ USB /core/usb.c中的_usb_get_extra_descriptor相关的额外描述符时错误地检 ...

  3. Ruby Rails正式学习:Ruby on Rails 做个演示项目吧,逐渐完善

    项目开始 一. 新建Rails项目 1. 修改一下Gemfile文件(简单修改一下) source 'https://rubygems.org' git_source(:github) { |repo ...

  4. CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

    本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [root@Shining ~] ...

  5. linux安装git服务器和svn服务器

    linux版本 linux版本为CentOS 6.8 (要注意有些软件的安装方法在各个linux版本之间也是存在差异的) git服务器 git服务器需要提供一个UI供开发人员创建项目管理项目,选择使用 ...

  6. Bat批处理文件入门

    这个东西吧,感觉在使用windows时作用不是很大,毕竟在windows环境下命令行确实用的比较少,但有时候也会用到,比如测试算法程序时使用批处理+文件可以省去每次手动输入.赶巧最近对批处理也比较感兴 ...

  7. axios设置了responseType: 'json‘’,ie问题

    在ie会有问题 如果返回的数据会变成字符串 在拦截器中用json.parse转 // 在axios的响应头中设置~~~ axios.interceptors.response.use( respons ...

  8. oracle服务端字符集

    一.oracle服务端字符集 SQL> select userenv('language') from dual ; USERENV('LANGUAGE')------------------- ...

  9. 垃圾回收gc --翻译

    原文在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management.基本保持了平译,并在一些地方做了概念解释.(转 ...

  10. 个人小应用服务器安装搭建,HP 360p Gen9 使用winpe安装centos[一]

    以前用aws的时候使用的ec2, 里面可选的windows server搭配umbraco的cms做了自己的个人网站,主要是当年项目需要,使用aws,我也办了国际币种卡,在组里各种联系亚马逊开服务,后 ...