用户工具

站点工具


语法:perl语法速查

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
语法:perl语法速查 [2024/12/31 12:43] – [1.10 perl处理json] user01语法:perl语法速查 [2026/07/14 09:33] (当前版本) – [2.1 删除当前目录下除pdf之外的其它普通文件] user01
行 1: 行 1:
- 
  
 ====== - perl语法速查 ====== ====== - perl语法速查 ======
行 76: 行 75:
 $aa = shift @ar; # 取出数组第一个元素给变量,数组长度减1 $aa = shift @ar; # 取出数组第一个元素给变量,数组长度减1
 $bb = pop $ar;   # 取出数组最后一个元素给变量,数组长度减1 $bb = pop $ar;   # 取出数组最后一个元素给变量,数组长度减1
 +unshift @ar, @add; #将add数据里面的数据移入ar前面
  
 </code> </code>
行 319: 行 319:
 value_2 value_2
 </code> </code>
 +===== - 循环 =====
 +==== - for ====
 +<code perl>
 +@ar = (1, 2);
 +
 +for ($i=0; $i<2; $i++) {
 +    print "$ar[$i]\n";
 +}
 +
 +foreach $i (@ar) {
 +    print "$i\n";
 +}
 +
 +for $i (@ar) {
 +    print "$i\n";
 +}
 +
 +#输出
 +PS D:\> perl t.pl
 +1
 +2
 +1
 +2
 +1
 +2
 +</code>
 +
 +
 ===== - 字符串操作 ===== ===== - 字符串操作 =====
  
行 426: 行 454:
  
 <code perl> <code perl>
-use strict; +use Spreadsheet::ParseExcel; 
-use Spreadsheet::ParseExcel; # for xls +use Spreadsheet::ParseXLSX; 
-use Spreadsheet::ParseXLSX;  # for xlsx+ 
 +if (scalar @ARGV <1) { 
 +    print "usage: perl get_feedthrough.pl xxx.xlsx\n"; 
 +    exit 0; 
 +
 +$ifile = shift @ARGV;
  
 # 创建一个解析器对象 # 创建一个解析器对象
-#my $parser = Spreadsheet::ParseExcel->new(); # for xls +if ($ifile =~ /xlsx/) { 
-my $parser = Spreadsheet::ParseXLSX->new(); # for xlsx+    $parser = Spreadsheet::ParseXLSX->new(); # for xlsx 
 +} else { 
 +    $parser = Spreadsheet::ParseExcel->new(); # for xls 
 +
  
 # 打开Excel文件并创建一个工作簿对象 # 打开Excel文件并创建一个工作簿对象
-my $workbook = $parser->parse('example.xlsx');+$workbook = $parser->parse($ifile);
  
 # 获取工作表对象 # 获取工作表对象
-my $worksheet = $workbook->worksheet(0);+$worksheet = $workbook->worksheet(0);
  
 # 读取单元格数据 # 读取单元格数据
-my $cell_value = $worksheet->get_cell(0, 0)->value(); +$cell = $worksheet->get_cell(21);  # 索引值从0开始 
- +if ($cell == under) { 
-print "Cell A1: $cell_value\n";+    print "cell = under\n"; # 表格无内容 
 +} else { 
 +    $cell_value = $worksheet->get_cell(2, 1)->value(); 
 +    print "Cell A1: $cell_value\n"; 
 +}
 </code> </code>
  
行 527: 行 568:
 </code> </code>
  
 +====== - 常用脚本 ======
 +
 +===== - 删除当前目录下除pdf之外的其它普通文件 =====
 +
 +<code perl>
 +
 +#!/usr/bin/perl
 +use strict;
 +use warnings;
 +use File::Find;
 +
 +my $target_dir = './';
 +my $name;
 +
 +#用于删除除pdf之外的其它文件
 +
 +my $scr_name = $0;
 +print "current scr name: $scr_name\n";
 +
 +find(
 +    {
 +        wanted => sub {
 +            return unless -f $_;          # 只处理文件
 +            $name = $File::Find::name;
 +
 +            if ($name =~ /\.pdf$/i) {
 +                # print "$name, is pdf\n";
 +            } elsif ($name =~ /$scr_name/) {
 +                # 不删除自己
 +            } else {
 +                print "$name, is not pdf\n";
 +                unlink $name;
 +            }
 +        },
 +        no_chdir => 1,
 +    },
 +    $target_dir
 +);
 +
 +
 +</code>
语法/perl语法速查.1735620189.txt.gz · 最后更改: 2024/12/31 12:43 由 user01

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki