前言:
自己理解的一个术语:
Q: 什么是变量?
A: 变化的量,称之为变量.比如"$DIR",这个变量,其的值可以是3,4或者是/root.其值是可以变化的.$DIR就像一个箱子,其里面可以放苹果, 也可以放橘子,当然也可以放电脑.o(∩_∩)o....里面放什么东西不重要,其$DIR是一个指向这个东西的指针.
$DIR="/root";
print "$DIR";
Q: 什么是数组?
A: 说通俗点,就是有很多数据放置在一起.还拿箱子来说明:变量的箱子只可以放一个东西.比如说,要么放苹果,要么放橘子.不能同时放2样东西.但是数组的箱子就可以既放苹果,又放橘子.放很多种东西.
@DIR=qw|w e r|;
print $DIR[0];
Q: 什么是散列?
A: 拿一个贴标签的例子来说:比如说,一个箱子中有很多种物品,有苹果,橘子,香蕉,梨.然后写4个标签,然后让抽奖,抽奖的人抽到苹果的标签,就给这个抽奖的人一个苹果.
%DIR=(config => "/root/config.conf",
dir=> "/root",
)
print $DIR{config};
#!/usr/bin/perl -w
第一句是告诉程序,此文件是一个perl script.这个和shell script类似.
use vars qw($DIR);
声明一个$DIR变量,这里可以声明很多变量.例如:use vars qw($DIR $EXT $Mail),程序中的use strict的作用就是强制程序在使用变量前,先声明,否则报错.
BEGIN{} 的作用是向@INC数组中,添加模块路径.其和use libs 'path',的作用一样
@INC是一个数组,其里面包括了Perl程序在寻找libs库的所有路径
if (){} if语句,当()里面的语句为真时,就执行{}里面的代码
$ENV{SCRIPT_FILENAME} 这个是得到cgi脚本的绝对路径.例如:/var/www/extsuite/cgi/index.cgi
=~ 这个是模式匹配操作符.
$ENV{SCRIPT_FILENAME} =~ m!(.*/)cgi! 这句话的意思是$ENV{SCRIPT_FILENAME}的值来和(.*/)cgi来做匹配.
在这里得提一下元字符.在这里的"."是一个元字符,是代表任何一个字符."*"是一个元字符,代表0个或者0个以上.合起来(.*/)就是任何字符(除了换行符).
自己理解的一个术语:
Q: 什么是变量?
A: 变化的量,称之为变量.比如"$DIR",这个变量,其的值可以是3,4或者是/root.其值是可以变化的.$DIR就像一个箱子,其里面可以放苹果, 也可以放橘子,当然也可以放电脑.o(∩_∩)o....里面放什么东西不重要,其$DIR是一个指向这个东西的指针.
$DIR="/root";
print "$DIR";
Q: 什么是数组?
A: 说通俗点,就是有很多数据放置在一起.还拿箱子来说明:变量的箱子只可以放一个东西.比如说,要么放苹果,要么放橘子.不能同时放2样东西.但是数组的箱子就可以既放苹果,又放橘子.放很多种东西.
@DIR=qw|w e r|;
print $DIR[0];
Q: 什么是散列?
A: 拿一个贴标签的例子来说:比如说,一个箱子中有很多种物品,有苹果,橘子,香蕉,梨.然后写4个标签,然后让抽奖,抽奖的人抽到苹果的标签,就给这个抽奖的人一个苹果.
%DIR=(config => "/root/config.conf",
dir=> "/root",
)
print $DIR{config};
#!/usr/bin/perl -w
第一句是告诉程序,此文件是一个perl script.这个和shell script类似.
use vars qw($DIR);
声明一个$DIR变量,这里可以声明很多变量.例如:use vars qw($DIR $EXT $Mail),程序中的use strict的作用就是强制程序在使用变量前,先声明,否则报错.
BEGIN{} 的作用是向@INC数组中,添加模块路径.其和use libs 'path',的作用一样
@INC是一个数组,其里面包括了Perl程序在寻找libs库的所有路径
if (){} if语句,当()里面的语句为真时,就执行{}里面的代码
$ENV{SCRIPT_FILENAME} 这个是得到cgi脚本的绝对路径.例如:/var/www/extsuite/cgi/index.cgi
=~ 这个是模式匹配操作符.
$ENV{SCRIPT_FILENAME} =~ m!(.*/)cgi! 这句话的意思是$ENV{SCRIPT_FILENAME}的值来和(.*/)cgi来做匹配.
在这里得提一下元字符.在这里的"."是一个元字符,是代表任何一个字符."*"是一个元字符,代表0个或者0个以上.合起来(.*/)就是任何字符(除了换行符).