Writing /share/Web/wiki/data/cache/5/51089c637a3e7de48187fdb5488f650c.metadata failed
语法:perl语法速查
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| 语法:perl语法速查 [2024/12/30 22:44] – [1.7.3 hash包array] user01 | 语法:perl语法速查 [2025/01/17 11:07] (当前版本) – [1.8 字符串操作] user01 | ||
|---|---|---|---|
| 行 76: | 行 76: | ||
| $aa = shift @ar; # 取出数组第一个元素给变量,数组长度减1 | $aa = shift @ar; # 取出数组第一个元素给变量,数组长度减1 | ||
| $bb = pop $ar; # 取出数组最后一个元素给变量,数组长度减1 | $bb = pop $ar; # 取出数组最后一个元素给变量,数组长度减1 | ||
| + | unshift @ar, @add; # | ||
| </ | </ | ||
| 行 129: | 行 130: | ||
| my @descending = reverse sort { $a <=> $b } @some_numbers; | my @descending = reverse sort { $a <=> $b } @some_numbers; | ||
| my @descending = sort {$b <=> $a } @some_nubmers; | my @descending = sort {$b <=> $a } @some_nubmers; | ||
| - | |||
| - | |||
| - | for $key (sort {$a <=> $b} keys %hash) { | ||
| - | $value = $hash{$key}; | ||
| - | print "key = $key, value = $value\n"; | ||
| - | } | ||
| - | |||
| for $key (sort {$hash{$a} <=> $hash{$b} keys %hash) { | for $key (sort {$hash{$a} <=> $hash{$b} keys %hash) { | ||
| 行 181: | 行 175: | ||
| print " | print " | ||
| } | } | ||
| - | </ | + | 输出: |
| - | < | + | |
| ARRAY(0x654b20) ARRAY(0x65f568) | ARRAY(0x654b20) ARRAY(0x65f568) | ||
| 1 2 3 | 1 2 3 | ||
| 行 299: | 行 292: | ||
| 2 | 2 | ||
| </ | </ | ||
| + | |||
| + | <code perl> | ||
| + | @ar = (); | ||
| + | sub new_hash { | ||
| + | return {} | ||
| + | } | ||
| + | for ($i=0; $i<3; $i++) { | ||
| + | $hash = & | ||
| + | push @ar, $hash; | ||
| + | $hash-> | ||
| + | $hash-> | ||
| + | } | ||
| + | for $i (@ar) { | ||
| + | print " | ||
| + | print " | ||
| + | print " | ||
| + | } | ||
| + | 输出: | ||
| + | HASH(0x1e9520) | ||
| + | 0 | ||
| + | value_0 | ||
| + | HASH(0x24d42b8) | ||
| + | 1 | ||
| + | value_1 | ||
| + | HASH(0x24d4390) | ||
| + | 2 | ||
| + | value_2 | ||
| + | </ | ||
| + | ===== - 循环 ===== | ||
| + | ==== - for ==== | ||
| + | <code perl> | ||
| + | @ar = (1, 2); | ||
| + | |||
| + | for ($i=0; $i<2; $i++) { | ||
| + | print " | ||
| + | } | ||
| + | |||
| + | foreach $i (@ar) { | ||
| + | print " | ||
| + | } | ||
| + | |||
| + | for $i (@ar) { | ||
| + | print " | ||
| + | } | ||
| + | |||
| + | #输出 | ||
| + | PS D:\> perl t.pl | ||
| + | 1 | ||
| + | 2 | ||
| + | 1 | ||
| + | 2 | ||
| + | 1 | ||
| + | 2 | ||
| + | </ | ||
| + | |||
| + | |||
| ===== - 字符串操作 ===== | ===== - 字符串操作 ===== | ||
| 行 401: | 行 450: | ||
| # | # | ||
| </ | </ | ||
| + | ===== - perl处理excel ===== | ||
| + | |||
| + | ==== - 读excel ==== | ||
| + | |||
| + | <code perl> | ||
| + | use Spreadsheet:: | ||
| + | use Spreadsheet:: | ||
| + | |||
| + | if (scalar @ARGV <1) { | ||
| + | print " | ||
| + | exit 0; | ||
| + | } | ||
| + | $ifile = shift @ARGV; | ||
| + | |||
| + | # 创建一个解析器对象 | ||
| + | if ($ifile =~ /xlsx/) { | ||
| + | $parser = Spreadsheet:: | ||
| + | } else { | ||
| + | $parser = Spreadsheet:: | ||
| + | } | ||
| + | |||
| + | |||
| + | # 打开Excel文件并创建一个工作簿对象 | ||
| + | $workbook = $parser-> | ||
| + | |||
| + | # 获取工作表对象 | ||
| + | $worksheet = $workbook-> | ||
| + | |||
| + | # 读取单元格数据 | ||
| + | $cell = $worksheet-> | ||
| + | if ($cell == under) { | ||
| + | print "cell = under\n"; | ||
| + | } else { | ||
| + | $cell_value = $worksheet-> | ||
| + | print "Cell A1: $cell_value\n"; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| ===== - perl处理json ===== | ===== - perl处理json ===== | ||
语法/perl语法速查.1735569863.txt.gz · 最后更改: 2024/12/30 22:44 由 user01