perl语言 入门(转)

本文是一篇关于Perl语言的入门教程,涵盖了从Hello, World到高级特性的内容,包括常量、变量、数组与列表、函数、哈希的使用,以及程序的输入输出等基本概念。Perl是弱类型语言,允许字符串和数字之间的相互转化。文中还介绍了Unix工具输入输出、格式化输出以及文件输入输出的方法。此外,详细讲解了哈希的操作,如存取、引用、反转、遍历等。" 104098034,9292287,使用CODESYS安装与应用第三方库OSCAT,"['工业自动化', '编程语言', 'CODESYS库', '软件开发']
摘要由CSDN通过智能技术生成

原文链接 https://www.jianshu.com/p/2dc7bef783ed

参考链接 perl入门 https://blog.csdn.net/ruby912/article/details/90721475

nux系统一般自带perl,可以在命令行运行。

1.Hello,World

#!/usr/bin/perl -w
print ("hello,world!\n");
#print "hello,world!\n";

说明:
(1)第一行指定解释器,-w参数表示提示警告(或者使用use strict命令,执行更严格的检查);
(2)第二行输出hello, world!;
(3)如果习惯c的函数方式,print的参数可以打括号;
(4)第三行是注释,注释以#打头;
(5)如果习惯shell的方式,print的参数可以没有括号;
(6)双引号内可以使用转义字符;
不妨设文件名为helloworld.pm

程序的执行方法为:

(1)perl helloworld.pm
(2)chmod 755 helloworld.pm && ./helloworld.pm

2.常量

2.1数字

(1)Perl内部总按照“双精度浮点数”保存数字并执行运算;
(2)0377=>八进制;0xFF=>十六进制;

2.2字符串

(1)单引号表示字符串,不转义;
(2)双引号表示字符串,转义且解释变量;

2.3字符串操作符

(1)拼接操作符:“.”=>拼接字符串;
(2)重复操作符:“x”=>一个字符串重复多次;

#!/usr/bin/perl -w
print ("hello,"."world!\n");
print ("hello " x 3);

输出结果是:

hello,world!
hello hello hello

最后要说明一点,Perl是弱类型语言,字符串和数字会相互转化,这一点和php一样。

3.变量

(1)变量以$开头,后接一个标示符;
(2)如何用变量获取用户输入?
使用,它获取用户的输入(一般以换行结束),可以使用chomp去除结尾的换行符。

#!/usr/bin/perl -w
$count = 0;
while($count<10)
{
chomp($input = <STDIN>);
print($input);
$count++;
}

(3)未定义变量
未定义的变量会赋予undef值,它既不是数字,也不是字符串;
它有可能被当做数字0使用;
使用define函数可以知道一个变量是否被定义;

#!/usr/bin/perl -w
$var = undef;
print($var);
if(defined($var))
{
print("defined!\n");
}
else
{
print("undefined!\n");
}
$var++;
print($var);

它的输出是:

Use of uninitialized value in print at undef.pm line 3.
undefined!
1

(4)变量的作用域
my和our可以指定变量的作用域
my指定为局部作用域;
our指定为全局作用域(默认为our);

#!/usr/bin/perl -w
our $g_one = "global_one\n";
$g_two = "global_two\n";
{
my $local_one = "local_one\n";
print($g_one);
print($g_two);
print($local_one);
}
print($g_one);
print($g_two);
print($local_one);

输出为:

global_one
global_two
local_one
global_one
global_two
Use of uninitialized value in print at our_my.pm line 13.

4.数组与列表

4.1数组

和c的数组使用非常类似:

array[0]=”a0″;array[1]=”a1″;

$array[2]=”a2″;
4.2列表

圆括号内的一系列值,构成列表:
(1, 2, 3)
(“hello”, 4)
(“hello”, “world”, “yes”, “no”)
qw(hello world yes no)
(1..10)
说明:
(1)第一行,列表元素为1,2,3;
(2)第二行,列表元素为一个字符串,一个数字;
(3)第三行,列表元素为4个字符串,好多引号和逗号啊;
(4)第四行,qw操作符,用来建立字符串列表,而不用输入这么多引号和逗号,效果同(3);
(5)范围操作符“..”,表示一个范围,从左至右连续加一。
列表的赋值:
(

v1,v2, $v3) = qw(yes i am);

整个列表的引用,@操作符:
@list = qw(yes i am);
@none = ();
@huge = (1..5);
@stuff = (@list, @none, @huge);
pop和push操作符:
(1)pop弹出列表末端元素;
(2)push向列表末端压入元素;
shift和unshift操作符:
(1)shift移出列表首部元素;
(2)unshift向列表首部压入元素;
列表的输出:
(1)列表输出,只输出列表,元素间不含空格;
(2)列表的字符串化输出,输出列表,元素间加入空格;
(3)foreach控制结果,可以依次取得列表中各个元素
#!/usr/bin/perl -w
@list = qw(yes i am
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值