1、join函数
#!/usr/bin/perl
@array = (1, 2, 3, 4, 5, 6);
print join(", ", @array);
2、vec函数
#!/usr/bin/perl
# 16进制数字转为二进制数字
$hexdigit = 0xA;
vec($data, 0, 8) = $hexdigit;
print vec($data, 3, 1);
print vec($data, 2, 1);
print vec($data, 1, 1);
print vec($data, 0, 1);
3、abs函数
绝对值
#!/usr/bin/perl
$s = -5;
print "The absolute value of $s = ", abs $s;
4、atan2函数
反正切
#!/usr/bin/perl
print (4 * atan2 1, 1);
5、Math::BigInt和Math::BigFLoat函数
大数
扩展算数的精确度
#!/usr/bin/perl
use Math::BigInt;
$bi = Math::BigInt->new('11111111111111111111');
print $bi * $bi;
6、chr函数
字符码中的字符
#!/usr/bin/perl
foreach (65 .. 68) {
print chr(), " ";
}
7、Math::Complex函数
复数
#!/usr/bin/perl
use Math::Complex;
$c1 = Math::Complex->new(-2,3);
$c2 = Math::Complex->new(4,5);
$c3 = $c1 * $c2;
print "($c1) X ($c2) = $c3\n";
8、cos函数
余弦
#!/usr/bin/perl
# 45度转化为弧度后再计算余弦值
$angle = 45;
$conversion = 3.14159265358979 / 180;
$radians = $angle * $conversion;
print "The cosine of $angle degrees = ", cos $radians;
9、each函数
hash表键/值 对
#!/usr/bin/perl
# each 返回键值对表
$hash{sandwich} = grilled;
$hash{drink} = 'root beer';
while (($key, $value) = each(%hash)) {
print "$key => $value\n";
}
10、eval函数
运行期间计算Perl代码
#!/usr/bin/perl
eval {print "Hello "; print "there.";};
#!/usr/bin/perl
# eval 将报告错误
sub try(&) {
my $code = shift;
eval {&$code};
if($@) {print "eval says: $@";}
};
try{
$operand1 = 1;
$operand2 = 0;
$result = $operand1 /$operand2;
};
11、exists函数
检查hash表键,仅指出hash表是否存在某个键
#!/usr/bin/perl
$hash{ID} = 12334;
$hash{Name} = Bertie;
$hash{Division} = Sales;
if (exists($hash{Phone})) {
print "Key is in the hash.";
} else {
print "Key is not in the hash.";
}
要真正确定是否定义了哈希表中的某个元素,用defind
#!/usr/bin/perl
$hash{ID} = 12334;
$hash{Name} = Bertie;
$hash{Division} = Sales;
if (defined($hash{Phone})) {
print "Element is defined.";
} else {
print "Element is not defined.";
}
12、exp函数
计算e的幂
#!/usr/bin/perl
# 让用户输入幂次数
print "Welome to the Exponentiator!\n";
print "Enter a number: ";
while ($s = <>) {
print "\n";
print " $s";
print "e = " . exp($s) . "\n";
print "Enter a number: ";
}
13、grep函数
查找匹配函数
#!/usr/bin/perl
# 删除由4个字母构成的单词
print join(" ", (grep{!/^\w{4}$/} (qw(Here are some four letter words.))));
14、hex函数
16进制转换
#!/usr/bin/perl
print hex("10") . "\n";
print hex("0x10") . "\n";
print hex("ab") . "\n";
print hex("Ab") . "\n";
15、index函数
子串的位置
#!/usr/bin/perl
$text = "Here's the text!";
print index $text, 'text'
16、int函数
截断整数
#!/usr/bin/perl
print int 1.999;
print "\n";
print int 2.001;
print "\n";
17、integer模块
整数计算
#!/usr/bin/perl
# 从$value 数字中剥离连续的16进制数字,从而将那个数字转换为16进制数字
use integer;
$value = 258;
print "$value in hex = ";
while($value) {
push @digits, (0 .. 9, a .. f)[$value & 15];
$value /= 16;
}
while(@digits){
print pop @digits;
}
18、join函数
将表加入到字符串中
#!/usr/bin/perl
@array = (1, 2, 3, 4, 5, 6, 7, 8,9);
print join(", ", @array) . "\n";
19、keys函数
得到hash表键
#!/usr/bin/perl
#
$hash{sandwich} = salami;
$hash{drink} = 'root beer';
foreach $key (keys %hash) {
print $hash{$key} . "\n";
}
#!/usr/bin/perl
# 哈希表的键数量
$hash{sandwich} = salami;
$hash{drink} = 'root beer';
print "\%hash has " . keys(%hash) . " keys\n";
20、lc函数
转换为小写
lu转为大写
#!/usr/bin/perl
while(<>) {
print "Here's what you typed lowercased: " . lc($_) . "\n";
print "Here's what you typed uppercased: " . uc($_) . "\n";
}
21、lcfirst函数
第一个字符转换为小写
ucfirst第一个字符转换为大写
#!/usr/bin/perl
print lcfirst "I like poems by e.e. cummings.";
22、length函数
得到字符串的长度
#!/usr/bin/perl
$text = "Here is the text.";
print length $text;
23、pack函数
将值打包到字符串中
#!/usr/bin/perl
print pack("ccc", 88, 89, 90) . "\n";
print pack("c3", 65, 66, 67) . "\n";
print pack("c*", 68, 69, 70, 71) . "\n";
#!/usr/bin/perl
# 将数字转换为二进制构成的字符串
$decimal = 100;
$binary = unpack("B32", pack("N", $decimal));
print $binary;
#!/usr/bin/perl
# 将二进制构成的字符串转换为数字
$decimal = 100;
$binary = unpack("B32", pack("N", $decimal));
$newdecimal = unpack("N", pack("B32", $binary));
print $newdecimal;
24、rand函数
创建随机数
#!/usr/bin/perl
$random = rand(100);
print $random;
#!/usr/bin/perl
$letter = ('a' .. 'z')[26 * rand];
print $letter;
#!/usr/bin/perl
print "Some lottery numbers to try:";
foreach (1 .. 6) {
print " " . int rand(50) + 1;
}
25、reverse函数
颠倒表
#!/usr/bin/perl
print join(" ", reverse(1 .. 20));
#!/usr/bin/perl
@array = (1, 2, 3);
print join(", ", reverse @array);
#!/usr/bin/perl
$hash{sandwich} = grilled;
$hash{drink} = 'root beer';
%reversed = reverse %hash;
while($key = each(%reversed)) {
print "$key => $reversed{$key}\n";
}
#!/usr/bin/perl
$string = "Hello!";
$reversed = reverse($string);
print "$reversed\n";
26、rindex函数
颠倒索引
#!/usr/bin/perl
$text = "I said, no, I just don't know.";
print "First occurrence of \"no\" is at position: " . index ($text, "no") . "\n";
print "Last occurrence of \"no\" is at position: " . rindex($text, "no") . "\n";
27、sin函数
正弦
#!/usr/bin/perl
$angle = 45;
$conversion = 3.14159265358979 / 180;
$radians = $angle * $conversion;
print "The sine of $angle degrees = ", sin $radians;
28、sort函数
排序表
#!/usr/bin/perl
@array = ('z', 'b', 'a', 'x', 'y', 'c');
print join(", ", @array) . "\n";
print join(", ", sort{$a cmp $b} @array) . "\n";
print join(", ", sort{$b cmp $a} @array) . "\n";
@array = (1, 5, 6, 7, 3, 2);
print join(", ", @array) . "\n";
print join(", ", sort{$a <=> $b} @array) . "\n";
print join(", ", sort{$b <=> $a} @array) . "\n";
29、split函数
字符串拆分为字符串数组
#!/usr/bin/perl
print join('-', split(//, 'Hello'));
print "\n";
print ((split " ", "Now is the time")[3]);
print "\n";
30、sprintf函数
格式化字符串
#!/usr/bin/perl
$value = 1234.56789;
print sprintf "%.4f\n", $value;
print sprintf "%.5f\n", $value;
print sprintf "%6.6f\n", $value;
print sprintf "%+.4ef\n", $value;
31、sqrt函数
平方根
#!/usr/bin/perl
print "Welcome to the Hypotenusizer!\n";
print "Enter two sides of a right triangle: ";
while(<>) {
($a, $b) = split;
$hypotenuse = sqrt($a * $a + $b * $b);
print "The hypotenuse is: " , $hypotenuse, "\n";
print "Enter two sides of a right triangle: ";
}
32、srand函数
设置随机数种子
#!/usr/bin/perl
srand;
$random = rand(100);
print $random;
33、substr函数
#!/usr/bin/perl
$text = "Here is the text.";
print substr($text, 12) . "\n";
print substr($text, 12, 4) . "\n";
substr($text, 12, 4, "word");
print "$text\n";
34、time函数
得到1970年1月1日以来的秒数
#!/usr/bin/perl
print "Current epoch time in seconds = ", time, "\n";
print "Current time = ", scalar localtime(time()), "\n";
35、Math::Trig函数
三角函数
#!/usr/bin/perl
use Math::Trig;
print "Pi = ", pi, "\n";
print "Pi in degrees = ", rad2deg pi, "\n";
print "The tangent of 0 = ", tan(0), "\n";
print "The arccos of 1= ", acos(1), "\n";
print "The arcsin of 1 / sqrt(2) = ", rad2deg(asin(1/sqrt(2))), " degrees\n";
36、values函数
得到hash表值
#!/usr/bin/perl
$hash{sandwich} = 'ham and cheese';
$hash{drink} = 'diet cola';
foreach $value (values %hash) {
print "$value\n";
}
37、vec函数
访问无符号整数向量
#!/usr/bin/perl
# 得到数据中的每位,以二进制形式显示16进制数据
$hexdigit = 0xA;
vec($data, 0, 8) = $hexdigit;
print vec($data, 3, 1);
print vec($data, 2, 1);
print vec($data, 1, 1);
print vec($data, 0, 1);
POSIX函数
#!/usr/bin/perl
@array = (1, 2, 3, 4, 5, 6);
print join(", ", @array);
2、vec函数
#!/usr/bin/perl
# 16进制数字转为二进制数字
$hexdigit = 0xA;
vec($data, 0, 8) = $hexdigit;
print vec($data, 3, 1);
print vec($data, 2, 1);
print vec($data, 1, 1);
print vec($data, 0, 1);
3、abs函数
绝对值
#!/usr/bin/perl
$s = -5;
print "The absolute value of $s = ", abs $s;
4、atan2函数
反正切
#!/usr/bin/perl
print (4 * atan2 1, 1);
5、Math::BigInt和Math::BigFLoat函数
大数
扩展算数的精确度
#!/usr/bin/perl
use Math::BigInt;
$bi = Math::BigInt->new('11111111111111111111');
print $bi * $bi;
6、chr函数
字符码中的字符
#!/usr/bin/perl
foreach (65 .. 68) {
print chr(), " ";
}
7、Math::Complex函数
复数
#!/usr/bin/perl
use Math::Complex;
$c1 = Math::Complex->new(-2,3);
$c2 = Math::Complex->new(4,5);
$c3 = $c1 * $c2;
print "($c1) X ($c2) = $c3\n";
8、cos函数
余弦
#!/usr/bin/perl
# 45度转化为弧度后再计算余弦值
$angle = 45;
$conversion = 3.14159265358979 / 180;
$radians = $angle * $conversion;
print "The cosine of $angle degrees = ", cos $radians;
9、each函数
hash表键/值 对
#!/usr/bin/perl
# each 返回键值对表
$hash{sandwich} = grilled;
$hash{drink} = 'root beer';
while (($key, $value) = each(%hash)) {
print "$key => $value\n";
}
10、eval函数
运行期间计算Perl代码
#!/usr/bin/perl
eval {print "Hello "; print "there.";};
#!/usr/bin/perl
# eval 将报告错误
sub try(&) {
my $code = shift;
eval {&$code};
if($@) {print "eval says: $@";}
};
try{
$operand1 = 1;
$operand2 = 0;
$result = $operand1 /$operand2;
};
11、exists函数
检查hash表键,仅指出hash表是否存在某个键
#!/usr/bin/perl
$hash{ID} = 12334;
$hash{Name} = Bertie;
$hash{Division} = Sales;
if (exists($hash{Phone})) {
print "Key is in the hash.";
} else {
print "Key is not in the hash.";
}
要真正确定是否定义了哈希表中的某个元素,用defind
#!/usr/bin/perl
$hash{ID} = 12334;
$hash{Name} = Bertie;
$hash{Division} = Sales;
if (defined($hash{Phone})) {
print "Element is defined.";
} else {
print "Element is not defined.";
}
12、exp函数
计算e的幂
#!/usr/bin/perl
# 让用户输入幂次数
print "Welome to the Exponentiator!\n";
print "Enter a number: ";
while ($s = <>) {
print "\n";
print " $s";
print "e = " . exp($s) . "\n";
print "Enter a number: ";
}
13、grep函数
查找匹配函数
#!/usr/bin/perl
# 删除由4个字母构成的单词
print join(" ", (grep{!/^\w{4}$/} (qw(Here are some four letter words.))));
14、hex函数
16进制转换
#!/usr/bin/perl
print hex("10") . "\n";
print hex("0x10") . "\n";
print hex("ab") . "\n";
print hex("Ab") . "\n";
15、index函数
子串的位置
#!/usr/bin/perl
$text = "Here's the text!";
print index $text, 'text'
16、int函数
截断整数
#!/usr/bin/perl
print int 1.999;
print "\n";
print int 2.001;
print "\n";
17、integer模块
整数计算
#!/usr/bin/perl
# 从$value 数字中剥离连续的16进制数字,从而将那个数字转换为16进制数字
use integer;
$value = 258;
print "$value in hex = ";
while($value) {
push @digits, (0 .. 9, a .. f)[$value & 15];
$value /= 16;
}
while(@digits){
print pop @digits;
}
18、join函数
将表加入到字符串中
#!/usr/bin/perl
@array = (1, 2, 3, 4, 5, 6, 7, 8,9);
print join(", ", @array) . "\n";
19、keys函数
得到hash表键
#!/usr/bin/perl
#
$hash{sandwich} = salami;
$hash{drink} = 'root beer';
foreach $key (keys %hash) {
print $hash{$key} . "\n";
}
#!/usr/bin/perl
# 哈希表的键数量
$hash{sandwich} = salami;
$hash{drink} = 'root beer';
print "\%hash has " . keys(%hash) . " keys\n";
20、lc函数
转换为小写
lu转为大写
#!/usr/bin/perl
while(<>) {
print "Here's what you typed lowercased: " . lc($_) . "\n";
print "Here's what you typed uppercased: " . uc($_) . "\n";
}
21、lcfirst函数
第一个字符转换为小写
ucfirst第一个字符转换为大写
#!/usr/bin/perl
print lcfirst "I like poems by e.e. cummings.";
22、length函数
得到字符串的长度
#!/usr/bin/perl
$text = "Here is the text.";
print length $text;
23、pack函数
将值打包到字符串中
#!/usr/bin/perl
print pack("ccc", 88, 89, 90) . "\n";
print pack("c3", 65, 66, 67) . "\n";
print pack("c*", 68, 69, 70, 71) . "\n";
#!/usr/bin/perl
# 将数字转换为二进制构成的字符串
$decimal = 100;
$binary = unpack("B32", pack("N", $decimal));
print $binary;
#!/usr/bin/perl
# 将二进制构成的字符串转换为数字
$decimal = 100;
$binary = unpack("B32", pack("N", $decimal));
$newdecimal = unpack("N", pack("B32", $binary));
print $newdecimal;
24、rand函数
创建随机数
#!/usr/bin/perl
$random = rand(100);
print $random;
#!/usr/bin/perl
$letter = ('a' .. 'z')[26 * rand];
print $letter;
#!/usr/bin/perl
print "Some lottery numbers to try:";
foreach (1 .. 6) {
print " " . int rand(50) + 1;
}
25、reverse函数
颠倒表
#!/usr/bin/perl
print join(" ", reverse(1 .. 20));
#!/usr/bin/perl
@array = (1, 2, 3);
print join(", ", reverse @array);
#!/usr/bin/perl
$hash{sandwich} = grilled;
$hash{drink} = 'root beer';
%reversed = reverse %hash;
while($key = each(%reversed)) {
print "$key => $reversed{$key}\n";
}
#!/usr/bin/perl
$string = "Hello!";
$reversed = reverse($string);
print "$reversed\n";
26、rindex函数
颠倒索引
#!/usr/bin/perl
$text = "I said, no, I just don't know.";
print "First occurrence of \"no\" is at position: " . index ($text, "no") . "\n";
print "Last occurrence of \"no\" is at position: " . rindex($text, "no") . "\n";
27、sin函数
正弦
#!/usr/bin/perl
$angle = 45;
$conversion = 3.14159265358979 / 180;
$radians = $angle * $conversion;
print "The sine of $angle degrees = ", sin $radians;
28、sort函数
排序表
#!/usr/bin/perl
@array = ('z', 'b', 'a', 'x', 'y', 'c');
print join(", ", @array) . "\n";
print join(", ", sort{$a cmp $b} @array) . "\n";
print join(", ", sort{$b cmp $a} @array) . "\n";
@array = (1, 5, 6, 7, 3, 2);
print join(", ", @array) . "\n";
print join(", ", sort{$a <=> $b} @array) . "\n";
print join(", ", sort{$b <=> $a} @array) . "\n";
29、split函数
字符串拆分为字符串数组
#!/usr/bin/perl
print join('-', split(//, 'Hello'));
print "\n";
print ((split " ", "Now is the time")[3]);
print "\n";
30、sprintf函数
格式化字符串
#!/usr/bin/perl
$value = 1234.56789;
print sprintf "%.4f\n", $value;
print sprintf "%.5f\n", $value;
print sprintf "%6.6f\n", $value;
print sprintf "%+.4ef\n", $value;
31、sqrt函数
平方根
#!/usr/bin/perl
print "Welcome to the Hypotenusizer!\n";
print "Enter two sides of a right triangle: ";
while(<>) {
($a, $b) = split;
$hypotenuse = sqrt($a * $a + $b * $b);
print "The hypotenuse is: " , $hypotenuse, "\n";
print "Enter two sides of a right triangle: ";
}
32、srand函数
设置随机数种子
#!/usr/bin/perl
srand;
$random = rand(100);
print $random;
33、substr函数
#!/usr/bin/perl
$text = "Here is the text.";
print substr($text, 12) . "\n";
print substr($text, 12, 4) . "\n";
substr($text, 12, 4, "word");
print "$text\n";
34、time函数
得到1970年1月1日以来的秒数
#!/usr/bin/perl
print "Current epoch time in seconds = ", time, "\n";
print "Current time = ", scalar localtime(time()), "\n";
35、Math::Trig函数
三角函数
#!/usr/bin/perl
use Math::Trig;
print "Pi = ", pi, "\n";
print "Pi in degrees = ", rad2deg pi, "\n";
print "The tangent of 0 = ", tan(0), "\n";
print "The arccos of 1= ", acos(1), "\n";
print "The arcsin of 1 / sqrt(2) = ", rad2deg(asin(1/sqrt(2))), " degrees\n";
36、values函数
得到hash表值
#!/usr/bin/perl
$hash{sandwich} = 'ham and cheese';
$hash{drink} = 'diet cola';
foreach $value (values %hash) {
print "$value\n";
}
37、vec函数
访问无符号整数向量
#!/usr/bin/perl
# 得到数据中的每位,以二进制形式显示16进制数据
$hexdigit = 0xA;
vec($data, 0, 8) = $hexdigit;
print vec($data, 3, 1);
print vec($data, 2, 1);
print vec($data, 1, 1);
print vec($data, 0, 1);
POSIX函数