📜  Perl-函数参考(1)

📅  最后修改于: 2023-12-03 15:33:26.779000             🧑  作者: Mango

Perl-函数参考

Perl是一种强大的面向对象编程语言,其函数库非常丰富,可以支持多种功能和应用场景。这里简要介绍一些Perl中的常见函数,帮助程序员更好地利用Perl进行编程。

字符串处理函数
substr

函数原型:substr EXPR,OFFSET,LENGTH,REPLACEMENT

用法:截取字符串中的一部分,或将一部分替换为新的内容。

示例:

my $string = "hello, world";
my $new_string = substr($string, 0, 5); # "hello"
$new_string = substr($string, 7); # "world"
substr($string, 7, 5, "Perl"); # "world" -> "Perl"
index

函数原型:index STR,SUBSTR,POSITION

用法:查找子字符串在目标字符串中的位置。

示例:

my $string = "hello, Perl";
my $pos = index($string, "Perl"); # 7
rindex

函数原型:rindex STR,SUBSTR,POSITION

用法:反向查找子字符串在目标字符串中的位置。

示例:

my $string = "hello, Perl";
my $pos = rindex($string, "l"); # 10
length

函数原型:length EXPR

用法:获取字符串的长度。

示例:

my $string = "hello, Perl";
my $len = length($string); # 12
lc, lcfirst, uc, ucfirst

函数原型:

  • lc EXPR: 将字符串转换为小写;
  • lcfirst EXPR: 将字符串首字母转换为小写;
  • uc EXPR: 将字符串转换为大写;
  • ucfirst EXPR: 将字符串首字母转换为大写。

示例:

my $string = "hello, Perl";
my $new_string = lc($string); # "hello, perl"
$new_string = lcfirst($string); # "hello, perl"
$new_string = uc($string); # "HELLO, PERL"
$new_string = ucfirst($string); # "Hello, Perl"
数组处理函数
push, pop

函数原型:

  • push ARRAY,LIST: 将一个或多个元素加入数组末尾;
  • pop ARRAY: 删除并返回数组末尾的元素。

示例:

my @array = (1, 2, 3);
push @array, 4, 5; # @array = (1, 2, 3, 4, 5)
my $last_element = pop @array; # $last_element = 5, @array = (1, 2, 3, 4)
shift, unshift

函数原型:

  • shift ARRAY: 删除并返回数组头部的元素;
  • unshift ARRAY,LIST: 将一个或多个元素加入数组头部。

示例:

my @array = (1, 2, 3);
my $first_element = shift @array; # $first_element = 1, @array = (2, 3)
unshift @array, 0; # @array = (0, 2, 3)
join

函数原型:join STR,LIST

用法:将数组元素按指定字符串连接为一个字符串。

示例:

my @array = (1, 2, 3);
my $string = join(",", @array); # "1,2,3"
sort

函数原型:sort BLOCK LIST

用法:按指定方式排序数组。

示例:

my @array = (3, 1, 2);
@array = sort {$a <=> $b} @array; # @array = (1, 2, 3)
正则表达式函数
match

函数原型:=~ /PATTERN/MODIFIERS

用法:匹配字符串中的模式。

示例:

my $string = "hello, Perl";
if ($string =~ /Perl/) {
    print "match\n";
}
substitution

函数原型:$string =~ s/PATTERN/REPLACEMENT/MODIFIERS

用法:用一个字符串替换另一个字符串的子串。

示例:

my $string = "hello, Perl";
$string =~ s/Perl/Python/;
print $string; # "hello, Python"
文件处理函数
open, close

函数原型:

  • open HANDLE,MODE,EXPR: 打开文件;
  • close HANDLE: 关闭文件。

示例:

my $filename = "test.txt";
open my $fh, "<", $filename or die "Cannot open file $filename: $!";
while (my $line = <$fh>) {
    print $line;
}
close $fh;
readline, print

函数原型:

  • readline FILEHANDLE: 从文件中读取一行;
  • print FILEHANDLE LIST: 将一系列元素输出到文件。

示例:

my $filename = "test.txt";
open my $fh, ">>", $filename or die "Cannot open file $filename: $!";
print $fh "hello, world\n";
close $fh;
其他常用函数
localtime, gmtime

函数原型:

  • localtime: 返回本地时间的时间戳;
  • gmtime: 返回格林威治时间的时间戳。

示例:

my $timestamp = time();
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($timestamp);
printf, sprintf

函数原型:

  • printf FORMAT,LIST: 输出格式化字符串;
  • sprintf FORMAT,LIST: 返回格式化字符串。

示例:

my $name = "Perl";
my $version = 5.30;
printf "Language: %s, Version: %.2f", $name, $version;
# output: "Language: Perl, Version: 5.30"

以上仅是Perl函数库中的一部分,请参考Perl官方文档以及其他参考资料了解更多函数的使用方法和应用场景。