LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
置顶的主题  
主题工具
旧 03-12-05, 20:57 第 1 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

标题: perl 函数集--------正在建设中


下列的函数只是简单的使用例子。没什么解释,有些英语描述得不好,请见谅。大家不懂的就来这里看看吧,要随时添加,没什么顺序,找函数时可以用搜索就方便找到了。下面的只是一小部分,我的E文差,好的函数集的网址一直找不到,哪里有列出函数使用的网站,请推荐,也可以发到我的短信箱。:)

perl的主站---函数的帮助资料。
http://www.perldoc.com/perl5.6/pod/perlfunc.html

在网上找到的不全的一些函数。
http://member.netease.com/~elvis/docs/c11.htm
http://www.panjin.net/tybl/cgi/jiaocheng/cp3.htm
http://www.mstong.net/yehuo/tanshow....12&filename=55
http://www.mamiyami.com/doc/php/ref.strings.html


一些函数的解释
abs
PHP 代码:
#!/usr/bin/perl -w
#$result=abs(value);
#
@re=abs(-23);
print 
"\@re\=abs\(\-23\)\;\n";
print 
"\@re\=@re\n"
array
PHP 代码:
#!/usr/bin/perl -w
@num=qw(11 33 2 dd 0);
printf "first:@num\n";
$name="dear";
@list=(
1..12,"hello",$name,"hello $name",4+6,1-2,2*3);
printf "second:@list\n";
@
a=(a..z,A..Z,-2.3..8.1);
printf "three:@a\n";
printf "four:next\n";
@
b=(1,"world",@num);
printf "third@b\n";
printf "sixnext\n";
@
c=@num;
printf "sevre@c\n"
atan2
PHP 代码:
#!/usr/bin/perl -w
#retval=atan2(value1,value2);
#
sub degress_to_radians {
my ($degress) = @_;
my ($radians);11;
$radians atan2(1,1) * $degress /45;

chdir
PHP 代码:
#!/usr/bin/perl -w
#change the current directory .
chdir("/root");
$result=system("ls");
print 
"$result\n"
chomp AND chop
PHP 代码:
#!/usr/bin/perl -w
use strict;
my @a="abcd";
print 
"@a\n--chomp--\n";
chomp(@a);
print 
"@a\n";
print 
"---chop---\n";
my @b="uiok";
print 
"@b\n";
chop(@b);
print 
"@b\n"
chr
PHP 代码:
#!/usr/bin/perl -w
#@char=chr(asciivalue);
#
@a=chr(97);
print 
"@a\n"
each
PHP 代码:
#!/usr/bin/perl -w
#@pair=each(%assoc_array);
#
print "\@pair\=each\(\%assoc\_array\)\;\n";
%array=(
9,"first",2,"second");
@
a=each(%array);
print 
"@a\n";
 
%
arrayA=(8,"first",6,"second");
@
b=each(%arrayA);
print 
"@b\n";
 
%
arrayB=(12,"first",98,"second",66,"three",2,"found");
@
d=each(%arrayB);
@
e=each(%arrayB);
@
f=each(%arrayB);
print 
"@d\n@e\n@f\n"
eof
PHP 代码:
#!/usr/bin/perl -w
 
while ($line = <>) {
   print (
$line);
   if (
eof) {
   print (
"-- end of current file --\n");
 }

eval
PHP 代码:
#!/usr/bin/perl -w
$print="print (\"hello,world\\n\");";
eval (
$print);
#run as perl command. 
foreach
PHP 代码:
#!/usr/bin/perl -w
@array=("how","do","you","do" "fine");
foreach 
$a(@array){
$a=~s/o/CHANGE/;
print 
"$a\n";
};
#
open (FILE"test03.pl" );
foreach (<
FILE> ) {
print 
"$_";

fork
PHP 代码:
#!/usr/bin/perl -w
$result=fork();
if(
$result == 0) {
                 
#this is the child process
exit; #this is terminates the child process
}else{
#this is the parent process

forka
PHP 代码:
#!/usr/bin/perl -w
$child=fork();
print 
"$child\n"
format
PHP 代码:
#!/usr/bin/perl -w
#file :format
#
$~="myformat";
write;
format myformat=
========================
hello,the world!
========================

getc AND die
PHP 代码:
#!/usr/bin/perl -w
open(FILE,"/etc/fstab") or die "could not open /etc/fstab:$!";
print (
getc(FILE),"");
$a=getc(FILE);
#chomp($a);
print "$a";
print (
getc(FILE));
print (
getc(FILE)."\n"); 
grep
PHP 代码:
#!/usr/bin/perl -w
#@foundlist = grep (pattern, @searchlist);
#
@list = ("This""is""a""test");
@
foundlist grep(/^[tT]/, @list);
print 
"@list\n@foundlist\n";
#
#result:::
#This is a test
#This test 
hash
引用:
#!/usr/bin/perl -w
%a=(1,"a",2,"b",3,"c",4,"d",5,"e",6,"f");
$b=$a{1}; print "$b\n";
#
$a{2}="change"; $b=$a{2}; print "$b\n";
#
@index=keys(%a); print "@index\n";
#
@content=values(%a); print "@content\n";
#
@d=%a; print "@d\n";
#
delete $a{5}; @d=%a; print "@d\n";
#
$i="a"; $j=1; delete ${$i}{$j}; @d=%a; print "@d\n";
hex
PHP 代码:
#!/usr/bin/perl -w
#16 format to 10 format number.
#result=hex(16 format);
#
@a=hex(032);
print 
"@a\n"
index
PHP 代码:
#!/usr/bin/perl -w
#position=index(string,substring,position);
#
@re=index("1234567","123");
print 
"@re\n";
@
re=index("1234567","6","3");
print 
"@re\n"
int
PHP 代码:
#!/usr/bin/perl -w
@a=int(2.39);
print 
"@a\n"
join
PHP 代码:
#!/usr/bin/perl -w
#join (joinstr,list);
#
@a=("a","b","c","d");
print 
"@a\n";
@
b=join("#",@a);
print 
"@b\n"
keys
PHP 代码:
#!/usr/bin/perl -w
#@list=keys(%assoc_array);
%NAME=(1,"mike",2,"michael");
@
readkey=keys(%NAME);
print 
"%NAME\n";
print 
"@readkey\n"
kill
PHP 代码:
#!/usr/bin/perl -w
#kill(signal,proclist);
#signal == signal ;example 9
#porclist == process ID
kill (9,1617); 
last
PHP 代码:
#!/usr/bin/perl -w
$a=12;
print 
"\$a\=$a\n";
while(
$a<25) {
$a++;
last if ($a == 20);
print 
"$a ";
}
print 
"\n"
lc
PHP 代码:
#!/usr/bin/perl -w
@a=lc("ABC");
print 
"@a\n"
lcfirst
PHP 代码:
#!/usr/bin/perl -w
#
# result=lcfirst(string);
@result=lcfirst("abcdefg");
print 
"@result\n";
@
a=lcfirst("ABCD");
print 
"@a\n"
length
PHP 代码:
#!/usr/bin/perl -w
#num=length(string);
#
@num=length("abcdefg");
print 
"@num\n"
log
PHP 代码:
#!/usr/bin/perl -w
#result=log(value);
#
$re=log(12);
print 
"\$re\=log\(12\)\;\n";
print 
"\$re\=$re\n"
map
PHP 代码:
#!/usr/bin/perl -w
#@resultlist=map(expr,@list);
#
@list=(50,3,1000);
print 
"@list\n";
@
result=map($_+1,@list);
print 
"@result\n";
print 
"@list\n"
mkdir
PHP 代码:
#!/usr/bin/perl -w
#4000: running setup user ID.
#2000: running setup groupp ID.
#1000: ease.
#0400: readable with own.
#0200: write with own.
#0200: can running with own.
#0040: readable group.
#0020: can write with group.
#0010: can running with group.
#0004: readable with all user.
#0002: write with all user.
#0001; running with all user.
 
mkdir("aka",0777) or die "Could not creat directory\n"
next
PHP 代码:
#!/usr/bin/perl -w
$a=18;
while(
$a<23){
$a++;
next if ($a==20);
print 
"$a ";
}
print 
"$a\n"
oct
PHP 代码:
#!/usr/bin/perl -w
#8 OR 16 format to 10 format
#@result=oct(octnum);
#
@a=oct("013");
print 
"@a\n";
@
b=oct("0x1a");
print 
"@b\n"
opendir ADN readdir AND closedir
PHP 代码:
#!/usr/bin/perl -w
opendir (DIR,"/root") or die "could not open /root";
@
dots=grep {/^[^.]/ && -"/root/$_" readdir(DIR);
foreach (@
dots) {
print 
"$_\n";
}
closedir DIR
ord
PHP 代码:
#!/usr/bin/perl -w
#@result=ord("char");
#print a character ASCII value.
#
use strict;
my @a=ord("a");
print 
"@a\n"
pipe
PHP 代码:
#!/usr/bin/perl -w
pipe(INPUT,OUTPUT);
$result=fork();
if(
$result != 0){
#this is cht parent process.
close(INPUT);
print(
"Enter a line of input:\n");
$line=<>;
print 
OUTPUT ($line);
}else{
#this is the child process.
close (OUTPUT);
$line=<>;
print(
$line);
exit(
0);
}
#pipe as shell " | ". 
pop
PHP 代码:
#!/usr/bin/perl -w
#@element=pop(@array);
#
@array=("hello","the","world","dear");
print 
"@array\n";
@
element=pop(@array);
print 
"@array\n@element\n"
push
PHP 代码:
#!/usr/bin/perl -w
#push(@arrayvar,elements);
#
@array=("hello","free","world");
print 
"@array\n";
push(@array,"my dear");
print 
"@array\n";
push(@array,"my dear too");
print 
"@array\n"
redo
PHP 代码:
#!/usr/bin/perl -w
$a=15;
while (
$a<19){
$a++;
print 
"$a ";
redo if ($a ==19);
}
print 
"\n";
 
$a=15;
while(
$a<=19){
$a++;
print 
"$a ";
redo if ($a ==19);
}
print 
"\n"
reverse
PHP 代码:
#!/usr/bin/perl -w
use strict;
print 
"Enter the list of string:\n";
my $a=0;
my $into;
my @test;
while ( 
$a<6) {
chomp($into=<>);
unshift(@test,"$into");
$a++ ;
}
print 
"@test\n" ;
#
my @reverse=reverse(@test);
print 
"@reverse\n ";
my @b;
@
b=reverse("a","b","c","d");
print 
"@b\n"
rindex
PHP 代码:
#!/usr/bin/perl -w
#position =rindex(string,substring.position);
#from right to left
#
@a=rindex("abcdefg","e","b");
print 
"@a\n";
@
a=rindex("abcdefg","e");
print 
"@a\n"
shift
PHP 代码:
#!/usr/bin/perl -w
#element = shift (@arrayvar);
#
@array=("a","998","ojjo","iu");
print 
"@array\n";
@
a=shift(@array);
print 
"@array\n@a\n"
shutdown
引用:
#Shuts down a socket connection in the manner indicated by HOW, which has the
#same interpretation as in the system call of the same name.
shutdown(SOCKET, 0); # I/we have stopped reading data
shutdown(SOCKET, 1); # I/we have stopped writing data
shutdown(SOCKET, 2); # I/we have stopped using this socket
sleep
PHP 代码:
#!/usr/bin/perl -w
@a=sleep (3);
print (
"the process alerady sleep 3 second\n");
print 
"@a\n";
print (
"return value is NULL\n");
 
print 
"\n"
sort
PHP 代码:
#!/usr/bin/perl -w
@a=sort("a","b",1,3,6,0);
print 
"@a\n"
splice
PHP 代码:
#!/usr/bin/perl -w
#@retval = splice (@array, slipelements, length, @newlist);
#if lenth=0;then insert a element.
#
@array=("a","b","9","8","K","ok");
@
a=splice (@array, 22"Hello");
print 
"@a\n"
split
PHP 代码:
#!/usr/bin/perl -w
#@list=split(parrern,sting,maxlength);
#
@text=("well","hello,the world","how","do","you","do");
print 
"@text\n";
@
name=split(/,/,@text,2);
print 
"@name\n";
print 
"@text\n";
$abc "apile:fjkdfk:300:500:XXX:/bin/bash";
 
@
abc split(/:/,$abc);
print 
"@abc\n"
sprintf
PHP 代码:
#!/usr/bin/perl -w
#same like printf ,not ouput to file,return value to variable .
#
$num=26;
$outstr=sprintf("%d=%x hexadecimal or %o octal\n",$num,$num,$num);
print (
$outstr); 
sqrt
PHP 代码:
#!/usr/bin/perl -w
#retval=sqrt(value);
#example
#value > 0;
$result=sqrt(9);
print 
"\$result\=sqrt\(9\)\;\n\$result\=$result\n"
srand AND rand
PHP 代码:
#!/usr/bin/perl -w
#result=rand(num);
#
srand();
$re=rand(A);
print 
"$re\n"
system
PHP 代码:
#!/usr/bin/perl -w
#system() ;run a shell commend.
 
$result=system "date";
$see=system("ls","/root");
print 
"$result\n";
print 
"$see\n";
$well=system "'date'";
print 
"$well\n";
@
hello=("echo","hello,world!");
system(@hello); 
uc
PHP 代码:
#!/usr/bin/perl -w
@a=uc("abcd");
print 
"@a\n"
unless
PHP 代码:
#!/usr/bin/perl -w
$a=12;
unless ($a!=12){
print 
"first:$a\n";
}
unless($a==12){
print 
"second:$a\n";

unlink
PHP 代码:
#!/usr/bin/perl -w
#unlink("filename");
unlink("/share/perl/test"); 
unpack
PHP 代码:
#!/usr/bin/perl -w
#@list = unpack (packformat, formatstr);
#
open (CODEDFILE"/share/perl/function/aa") ||
die 
"Can't open input file";
open (OUTFILE">outfile") ||
die 
"Can't open output file";
while (
$line = <CODEDFILE>) {
$decoded unpack("u"$line);
print 
OUTFILE ($decoded);
}
close (OUTFILE);
close (CODEDFILE); 
unshift
PHP 代码:
#!/usr/bin/perl -w
#count = unshift (@arrayver, elements);
#
@array=("ui","ok","nb","li","well");
print 
"@array\n";
@
a=unshift(@array,"first");
print 
"@array\n@a\n"
until
PHP 代码:
#!/usr/bin/perl -w
$a=12;
until $a==18) {
$a++;
print 
"$a ";
}
print 
"\n"
values
PHP 代码:
#!/usr/bin/perl -w
#@list=values(%assoc_array);
#
print "\@list\=values\(\%assoc\_array\)\;\n";
%
NAME=(1,"mike",2,"michael");
@
readval=values(%NAME);
print 
"@readval\n"
vec
PHP 代码:
#!/usr/bin/perl -w
#retval = vec (vector, index, bits);
#
$vector pack ("B*""11010011");
$val1 vec ($vector04);
$val2 vec ($vector14);
print (
"high-to-low order values: $val1 and $val2\n");
$vector pack ("b*""11010011");
$val1 vec ($vector04);
$val2 vec ($vector14);
print (
"low-to-high order values: $val1 and $val2\n"); 
waitpid
PHP 代码:
#!/usr/bin/perl -w
#wait for a sub_process,unit the sub_process done.
#procid is ID of sub_process
#format : waitpid(procid,witflay);
#example:
$procid=fork();
if (
$procid == 0){
#this is the child porcess
print ("this line is printed first\n");
exit(
0);
}else{
#this is the parent process
waitpid($procid,0);
print (
"this line is printed last\n");

wantarray
PHP 代码:
#!/usr/bin/perl -w
#result=wantarray();
 
@array = &mysub();
$scalar = &mysub();
 
sub mysub {
    if (
wantarray()) {
       print (
"true\n");
     } else {
     print (
"false\n");
     }

while
PHP 代码:
#!/usr/bin/perl -w
use strict;
open(FILE"/etc/fstab" );
my $line;
while ( 
$line=<FILE>) {
print 
"$line";

umask
PHP 代码:
umask(0111); 
不知道大家喜欢我这样的做吗?:):)

此帖于 03-12-30 20:57 被 devel 编辑.
  devel 当前离线   回复时引用此帖
旧 03-12-05, 21:02 第 2 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

呵呵~~,很实用~~, 不过在<<perl技术内幕>>中有介绍了很多常用的函数和特殊变量~~,值得一看~~
  KornLee 当前离线   回复时引用此帖
旧 03-12-05, 21:09 第 3 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

引用:
最初由 javalee 发表
呵呵~~,很实用~~, 不过在<<perl技术内幕>>中有介绍了很多常用的函数和特殊变量~~,值得一看~~
没有好书呀!!不知道什么时候才能打好基础 :( :(



devel 很認真的說"注意:从现在开始,请不要置顶贴子闲谈和灌水,谢谢合作。"

此帖于 03-12-09 02:56 被 georgek 编辑.
  devel 当前离线   回复时引用此帖
旧 06-08-23, 17:58 第 4 帖
simondavier
 
 
 
注册会员  
  注册日期: Aug 2006
  帖子: 1
  精华: 0
 

能不能把各个函数的用途简单描述一下啊。
  simondavier 当前离线   回复时引用此帖
旧 06-08-23, 19:04 第 5 帖
晨想 帅哥
 
晨想 的头像
 
 
资深版主  
  注册日期: Feb 2003
  我的住址: P.R.China
  帖子: 9,643
  精华: 9
 

自己看看 perldoc 吧。。

比如 perldoc -f split







__________________
我的wiki: http://wiki.linuxgnu.org

马甲Show:终极幻想 黯然销魂 DawnFantasy FinalFantasy ArmageddonMa
  晨想 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 09:10


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org