
Perl语法详解与实战应用
本专栏专注于Perl脚本语言的语法详解与实战应用。内容涵盖基础语法、正则表达式、文件处理、模块使用及自动化脚本编写,适合系统管理、文本处理及自动化开发等相关领域的程序员学习与参考。通过丰富实用的示例,帮助你快速掌握Perl核心编程技巧,提升脚本开发效率。持续更新,干货不断,助你轻松玩转Perl脚本。
元直数字电路验证
天地本無心,生民自有命,往聖無絕學,萬世不太平。硅農,因bug而生,與bug為伴,以debug為生。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[Perl]字符串拆分及拼接案例
Perl字符串拆分及拼接案例 背景:将文件中的32bit数据(Hex,16进制表示的数据)拆分为每8bit一组,并在每2个组中间插入ECC,不关心ECC的具体值,用任意数据替代即可。原创 2021-08-11 15:44:06 · 1573 阅读 · 0 评论 -
[Perl]字符串处理函数
Perl字符串处理函数总结 前言:字符串处理是脚本开发中使用的最多的功能,熟练掌握字符串处理函数将会极大地提高脚本开发能力,应对文本处理中的各种问题。一、字符串处理函数列表No. Name Syntax Description 1 index position = index(string, substring, position); 返回子串substring在字符串string中的位置,如果不存在则返回-1。 ...原创 2021-08-05 21:48:24 · 293 阅读 · 0 评论 -
[Linux]脚本中输出漂亮的提示语 --- 图形字符命令banner
图形字符命令banner ---脚本中输出漂亮的提示语一、banner使用#生成banner%>banner hello#!/user/bin/perl -wsystem("banner HELLO");二、figlet使用一些普通字符生成banner三、toilet使用一些复杂的彩色特殊字符生成ba...原创 2021-03-30 19:57:18 · 1620 阅读 · 0 评论 -
[Perl]Perl匹配非空白字符[^\s]
Perl匹配非空白字符在Perl中,[^\s]代表非空白符。 [^\s]+表示一次或多次匹配非空白符。 ^在括号[]外时表示开始,即行首。 ^在括号[]内时表示将第一位取反,所以\s是空白,在括号内[^\s]就是非空白。...原创 2020-11-24 10:49:14 · 5287 阅读 · 0 评论 -
[Linux]TCSH、Perl、Python脚本修改文件权限
TCSH、Perl、Python脚本修改文件权限一、常用的Linux文件权限1.1.权限显示通常从左到右用9个字母显示,每3个字母分为一组,依次表示文件所有者的权限、同组用户的权限、其他用户的权限 读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示 通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执...原创 2020-10-17 10:45:13 · 939 阅读 · 0 评论 -
[Perl]正则表达式中\L、\Q和\E的用法总结
正则表达式中\L、\Q和\E的用法总结 No. 元字符 含义 1 \l 下个字符小写 2 \L 接着的字符均小写直到\E 3 \u 下个字符大写 4 \U 接着的字符均大...原创 2020-08-07 09:02:56 · 8409 阅读 · 0 评论 -
[Perl]Perl數組方法總結
Perl數組方法總結 目錄 一、Perl中數組的聲明二、Perl中數組的初始化2.1.直接賦初值2.2.使用qw給數組賦值2.3.等差數列三、數組的基本方法3.1.數組元素的存取3.2.用foreach遍歷數組3.3.像數組追加元素3.4.刪除數組中的元素3.5...原创 2020-04-14 18:34:32 · 457 阅读 · 0 评论 -
[Perl]Perl中各种进制之間的转换
Perl中各种进制之間的转换 目錄 一、十六進制轉十進制(convert hexadecimal into decimal)1.1.使用hex function1.2.使用pack函數1.3.使用CPAN module Bit::Vector二、十進制轉十六進制(convert from decimal...原创 2020-04-14 17:48:09 · 4847 阅读 · 0 评论 -
[Perl]常用正則表達式整理
什麼是正則表達式 前言:正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。 許多程序設計語言都支持利用正則表達式進行字符串操...原创 2020-03-23 18:26:12 · 1346 阅读 · 0 评论 -
[Perl]命令行參數處理
前言:在開發腳本的時候,為了方便使用以及為用戶提供更多的選擇,我們往往需要傳遞參數給腳本,本文將介紹一種命令行參數的處理方式。1、Name Getopt::std2、Synopsis#!/usr/bin/per -wuse Getopt::Std; getopts('oif:'); # -o & -i are ...原创 2019-09-29 16:46:17 · 324 阅读 · 0 评论 -
[Perl]文件與目錄操作常用方法總結
1、創建文件:open(IN, ">", "test_file.txt");#或者`touch test_file.txt`;2、刪除文件:unlink "test_file.txt"#如果想删除目录内的文件和子目录,而保留foo1目录自身,应该设置keep_root选项rmtree '/test/foo1',{verbose => 1,keep_root ...原创 2019-08-09 20:36:00 · 367 阅读 · 0 评论 -
[Perl]列錶處理工具List::Util
一、List::Util 是一个实用的对列表进行操作的功能函数工具集合。use List::Util qw( reduce any all none notall first max maxstr min minstr product sum sum0 pairs unpairs pairkeys pairvalues pairfirst pairgrep pairmap s...原创 2019-05-31 20:05:02 · 501 阅读 · 0 评论 -
[Perl]Perl5.10新特性的應用之智能匹配
一、智能匹配操作符 1、Perl 5.10及以上版本中的智能匹配操作符(~~)会根据需要选择恰当的方式比较两端的操作数。它只用于判断操作数是否相同,在比较大小时就不能用了,老老实实的用传统的比较操作符吧。智能匹配操作符~~和前面讲的绑定操作符=~很像,不过相对来说~~操作符更强悍一些,他甚至可以代替绑定操作符。如下:#!/usr/bin/perlmy $flag = 0;...原创 2019-05-31 19:39:09 · 505 阅读 · 0 评论 -
[Perl]正則表達式中的分組和捕獲
在基础正则中,使用括号可以对匹配的内容进行分组,这种行为称为分组捕获。捕获后可以通过\1这种反向引用方式去引用(访问)保存在分组中的匹配结果。例如:$str = "abc11ddabc11"; if($str =~ /([a-z]*)([0-9]*)dd\1\2/){ print("first group \\1: $1\n"); print("second grou...原创 2019-04-04 20:37:26 · 531 阅读 · 0 评论 -
[Perl]獲取某一目錄下指定模式的文件的list
一、glob文件操作符相當於Shell中指定文件通配符的操作。其返回值是指定模式的所有文件的list。如下面的代碼:@my_files = glob "/home/site/*.fasta";等價于:opendir(DIR, "/home/site"); #DIR文件句柄@my_files = readdir(DIR);closedir(DIR);foreach $Cur (...原创 2019-04-01 20:37:04 · 465 阅读 · 0 评论 -
[Perl]正則表達式使用總結
一、正則表達式操作符的優先級正則表達式有由原子和操作符組成,原子是構成正則表達式的基本單元,通常是指僅匹配單個字符的匹配模式,例如:a #匹配字母a\$ #匹配字符$[a-z] #匹配任何一個小寫字母\1 #反向引用所有匹配到的第一組捕獲內容. #匹配處\n以外的任意字符除此外,還有一些0寬度的原子,例如:\b ...原创 2019-04-01 22:01:16 · 338 阅读 · 0 评论 -
[Perl]Perl贪婪匹配、非贪婪匹配、占有优先匹配的區別和應用
在基础正则中,那些能匹配多次的量词都会匹配最长内容。这种尽量多匹配的行为称为"贪婪匹配"(greedy match)。 例如字符串"aa1122ccbb",用正则表达式a.*c去匹配这个字符串,其中的.*将直接从第二个字母a开始匹配到最结尾的b,因为从第二个字母a开始到最后一个字母b都符合.*的匹配模式。再然后,去匹配字母c,但因为已经把所有字母匹配完了,只能回退一个...原创 2019-04-04 19:36:39 · 5060 阅读 · 0 评论 -
[Perl]字符串拼接
在perl字符串處理中,經常會用到字符串拼接,例子如下:$line = "System";$line .= "Verilog";print("line = $line\n");#line = SystemVerilog原创 2019-04-09 19:52:05 · 24049 阅读 · 0 评论 -
[Perl]Perl中chomp和chop的区别介绍
一、chomp是用来删除换行符。#!/usr/bin/perl $c = "abcde\n"; chomp($c); print("$c"); [root@login1]# perl perl_try.pl abcde[root@login1]# 二、chop是用来删除最后一个字符。#!/usr/bin/perl $c = "abcde\\"; chop($c); ...原创 2019-04-22 15:13:34 · 6563 阅读 · 0 评论 -
[Perl]用Perl读写Excel --- 实测案例分析
一、官方文件鏈接(link)二、此例的用意在於通過Parse Spec,自動生成代碼。不輪是DE還是DV,都會用到,將繁瑣的工作自動化。三、程序範例 SYNOPSIS,Spreadsheet::ParseExcel - Read information from an Excel file. #!/usr/bin/perl -w use strict;use Spread...原创 2019-05-15 20:12:45 · 3255 阅读 · 0 评论 -
[Perl]Perl哈希(Hash)的语法及应用
1、在用Script Parse文件的過程中,構建一個好的數據結構是非常重要的。只有前期的數據結構建的好,才能的開發和維護才能得心應手。本文主要介紹二維Hash的構建以及Access。2、所謂的二維Hash,就是在Hash裡面存放Hash,key <=> value對中的value是Hash,如:my %hash;my %sub_hash;$sub_hash{"id"}...原创 2019-05-15 20:19:20 · 2129 阅读 · 0 评论 -
[Perl]格式化輸出及格式定制
一、工具:format模板Perl支持用format关键字来定义格式化输出的模板,然后使用write按指定模板输出数据。1、基本语法 (1)格式行語法:以@或^开头 @、^后的<,>,|长度决定了字段的长度,如果变量超出定义的长度将被截断 <, >, |还分别表示左对齐,右对齐,居中对齐 ^用于多行文本填充 (2)值域行語法:@####....原创 2019-05-16 08:41:58 · 833 阅读 · 0 评论 -
[Perl]Perl5.10新特性的應用之given-when
一、在Perl5.10.0及以上的版本中,新增加了智能匹配和given-when結構。 在文本處理中可以大顯身手。與if-elsif-else結構不同的是,在given-when結構中,當滿足某個條件時,並不是結束測試,而是會繼續向下測試。#!/usr/bin/perluse strict;use 5.010001;given( $ARGV[0] ) { when...原创 2019-05-31 09:03:06 · 420 阅读 · 0 评论 -
[Perl]Perl Script之環境變量
Perl Script Useful Usage1、amp 按照給定的格式重新生成List Change every item in a list,Example: my @data_list_new = map($_ = $_ + 1) @data_list;2、ENV Hash Perl将对Unix的环境的感知信息存放在%ENV這...原创 2019-02-22 19:32:42 · 431 阅读 · 0 评论