【Linux/脚本/芯片学习】Perl学习

Linux工具应用_PERL perl脚本是当前工作中最常用的脚本,还是先熟练掌握之后再看其他 阅读详情

Title:Perl学习

  • 个人学习策略

    主用python.

    看懂perl 和 tcl 即可。

  • 之前的存货
    开始搬砖后,整理 ”网络发布版笔记“ 的心思寡淡了好多,可能就是被工作榨干的原因8…
    但今天至少得赶个1024节日… ( ̄▽ ̄)"~

1 介绍

  • 是什么

    Perl (Practical Extraction and Report Language),实用报表提取语言。

    偏向文本处理的脚本语言。

  • 脚本的作用

    实现一些自动化工作:如写个tcl,由当前系统时间自动生成唯一的版本号;设计一个脚本进行数据格式转换;用脚本实现个人HDL编码习惯的module模板;

    脚本语言是文本文件,解释执行。

  • 安装

    perl的编译器有 ActiveStatePerl 和 Strawberry Perl,前者轻量级,后者包含些第三方库CPAN,自己定,以下以后者为例;

    1. 下载语言包位置:Perl Download

    2. 检查系统环境变量path是否更新:

      cmd中输入:perl -v ;

      有显示则成功,否则自己加环境变量到path中:

      把perl 安装地址 .\perl\bin 加到path环境变量里即可.

      (重新验证得重开cmd)

  • 各种脚本语言的对比:perl、tcl、python

    大部分Linux都自带了这三种脚本语言。

    • 正则表达式

      三个都支持正则:但perl支持最好最简洁、py兼容Perl的标准但要re库、tcl用的是另一套标准。

    • Python

      语言风格:类似matlab;

      优势:写一些开发用个人的小工具,有更丰富、成熟的库而更有优势。

      缺陷:EDA工具支持性不好;分为 2.7 和 3.x 俩不兼容的版本,有点麻烦;

      后缀:.py

    • Tcl

      语言风格:类似C库,被C调用很方便;

      优势:EDA支持性好;

      EDA工具内置的console都集成、支持 tcl,如:ModelSim、Vivado、Quartus;

      故tcl能更好地拓展EDA工具的功能和使用。

      缺陷:扩展库不够多而且老;

      后缀:.tcl

    • Perl

      语言风格:类似shell的拓展;

      优势:深度集成正则,故很适合文本处理;优势之一是丰富的第三方库(CPAN)

      缺陷:库的质量难以保证;对文本外的开发没啥优势;且py也支持perl的正则标准,够用了。

      perl的缺陷是更偏向文本处理、库的稳定性也不够。

      后缀:.pl 或 .plx

2 使用/运行

  • 关键文本头

    #!自己的perl目录/bin/perl -w -w表示开启warning.

    不知道目录,linux下可用 which perl查;

  • Linux下的系统指令和Windows下不同,Windows下是dos指令;

  • 运行

    执行文件:

    perl 文件名.pl

    cmd中执行单行:

    perl -e 语句

3 语法(看完后查阅用)

3.1 叙述性语法

碎片语言风格

  1. 行尾要有分号 ;

  2. 不关心空白;

  3. 弱语言类型,类似makefile.

  4. 语句块的{} 不能省略,不像C的单句可省。

  5. 运算符同C,

    多了个乘幂**;逻辑非用的是not;逻辑或、逻辑且,支持and/or也支持&& / ||;

    支持 +=、++ 这类的使用;

变量定义和使用

  • 定义

    标量 用 $;后面正则元字符里还有符号$,勿混淆!

    • 未定义的变量,直接用$,那自然是空(不是空格哈).

    数组 用 @

    哈希 用 %

  • 使用

    使用都是用$!直接加符号即可,不用括号.

    e.g. 定义和使用都是 $var ;别和makefile弄混了—— makefile使用需要有 {},perl不用.

  • 数值的使用

    默认把整数按浮点数存;

    $a = 666;
    $a = 666.66 + 6.6e+6 -0.66;
    
  • 数组

    #定义
    @array = (1,2,3);
    @str = ( "1", "2", "3");
    #使用
    print $str[0];
    
    # 数组复制
    @copy = @array;		
    # 获得数组个数
    
全志R528核心板与开发板实战:从芯片选型到Linux系统构建 在嵌入式系统开发中,应用处理器(Application Processor)凭借其强大的计算能力和对完整操作系统的支持,成为复杂物联网(IoT)和智能硬件项目的核心。其工作原理基于ARM Cortex-A系列架构,能够运行Linux等通用操作系统,从而允许开发者利用丰富的开源软件生态处理图形界面、网络协议栈和多媒体任务。这一技术价值在于极大地提升了嵌入式设备的软件复杂度和功能上限,使其能够胜任智能家居中控、工业HMI和边缘AI设备等应用场景。本文聚焦于全志R528这一集成了显示、视频编解码和丰富外设接口的C 阅读详情

相关推荐

全志V851se芯片Linux 6.1 + Debian 12镜像构建指南

嵌入式Linux系统开发中,定制化系统镜像构建是核心技术环节。通过交叉编译工具链,开发者可以针对特定硬件平台(如全志V851se芯片)构建优化的Linux系统。该过程涉及Bootloader配置、内核裁剪、根文件系统构建等关键技术,最终生成包含最新Linux 6.1 LTS内核和Debian 12用户空间的完整系统镜像。这种定制方案特别适用于AI、计算机视觉等需要精确控制系统组件的应用场景,同时支持TinyVision等开发板的硬件加速特性。

cneo2012的博客 461

NIC400 r1p0 IP 安装 3 大常见错误排查:从环境变量到 Amba Designer 导入

本文详细解析了NIC400 r1p0 IP安装过程中的三大常见错误,包括环境变量配置、工具路径权限和Amba Designer导入问题。针对每个错误场景,提供了具体的排查步骤和解决方案,帮助工程师高效完成IP安装并成功导入Amba Designer,提升芯片设计效率。

weixin_30887919的博客 565

Linux下安装和使用本地的Perl模块

在Linux系统上安装和使用本地Perl模块可以为Perl脚本提供额外的功能和库支持。通过使用CPANm,您可以简化模块的安装和管理过程。遵循本文中的步骤,您可以轻松地安装和使用本地Perl模块来扩展您的Perl开发环境。在Linux系统中,我们可以通过安装和使用本地的Perl模块来扩展Perl的功能。本文将介绍如何在Linux系统上安装和使用本地的Perl模块。确保您的Perl版本是最新的稳定版本,以获得最好的兼容性和功能。您可以根据自己安装的模块的名称来修改此语句。将源代码包解压缩到您喜欢的位置。

YbeCoder的博客 1221

Linux下Perl模块的安装方法

本文将介绍在Linux服务器上安装Perl模块的方法,并提供相应的源代码示例。步骤2:在Perl模块的官方网站或仓库中下载源代码包(通常为.tar.gz或.zip格式)。步骤5:CPAN会自动下载、编译和安装所需的模块及其依赖项。步骤1:打开终端并以root用户或具有sudo权限的用户身份登录服务器。步骤1:打开终端并以root用户或具有sudo权限的用户身份登录服务器。步骤4:系统软件包管理器会自动下载、安装所需的Perl模块及其依赖项。步骤3:运行以下命令来安装Perl模块(以安装名为。

OUDKE的博客 2188

构建精简Linux内核与Perl系统管理

本章深入探讨了Linux操作系统管理的两个关键方面:构建精简内核和使用Perl语言进行系统管理。首先,介绍了如何配置和编译Linux内核,以实现特定硬件和用途的优化。然后,通过Perl的介绍,展示了如何利用其强大的编程能力来扩展系统管理功能,特别是在shell脚本功能受限时。

weixin_42311427的博客 375

BCM56870/56970交换芯片SDK 5.6.1源码构建与调试指南

Broadcom交换芯片SDK是网络设备底层转发平面的核心开发框架,其本质是一套面向ASIC的硬件抽象层(HAL)实现,通过soc/、bcm/、drv/三层架构将寄存器操作、TCAM管理、L2/L3协议逻辑解耦。bcmsdk561作为适配BCM56870与BCM56970系列的关键版本,提供完整的可编译源码树与用户态模拟能力,技术价值在于支持白盒交换机原型验证、网络协议栈教学实验及转发行为深度定制。典型应用场景包括L2 MAC表强制静态化、ECMP哈希算法重构、FIB插入逻辑修改等工程实践。本文聚焦该SDK

weixin_34290631的博客 394

ActivePerl-5.8.6.811-MsWin32-X86.msi:面向Windows 32位系统的Perl解释器

举个例子,下面的代码段创建了一个简单的密码破解工具:use strict;# 密码字典文件# 目标哈希值chomp;last;代码解释:- 使用模块计算密码的哈希值。- 读取密码字典文件,逐个测试密码。参数说明:模块用于计算密码的SHA1哈希值。$wordlist包含常见密码的字典文件。本章深入探讨了Perl在网络安全领域的多个应用实例,强调了其在文本处理、日志分析、数据包解析、自动化脚本编写以及安全工具开发方面的实用性和强大能力。

weixin_36235398的博客 985

ollama接入图像识别大模型

ollama接入图像识别大模型

qq_36437991的博客 2075

【BLE】HID设备开发实战:从自拍杆到复合设备的蓝牙控制方案

本文深入解析了BLE HID(低功耗蓝牙人机接口设备)的开发实战,从蓝牙自拍杆的工作原理切入,详细阐述了HID Report Map的设计与实现。通过拆解自拍杆、键盘、鼠标等案例,指导开发者如何利用BLE的低功耗与即插即用特性,构建从单一功能到键盘鼠标复合设备的完整蓝牙控制方案。

weixin_29159613的博客 464

手把手教你用DCA1000和mmWave Studio 2.0采集AWR1843雷达数据(附驱动安装与常见报错排查)

本文详细介绍了使用DCA1000和mmWave Studio 2.0采集AWR1843毫米波雷达数据的全流程指南,包括硬件连接、驱动安装、软件配置及常见报错排查。通过实战经验分享,帮助开发者快速掌握数据采集技巧,优化雷达参数配置,提升数据质量与采集效率。

weixin_30070339的博客 332

别再手动切换了!用SP3485+三极管搞定RS485自动收发电路(附完整原理图)

本文详细介绍了如何利用SP3485芯片和三极管设计RS485自动收发电路,解决传统手动切换带来的IO资源占用和软件复杂度问题。通过原理分析、电路设计拆解和实战注意事项,帮助工程师打造稳定可靠的自动收发通信模块,显著提升系统性能和可靠性。

weixin_26833939的博客 511

支持向量机算法之鸢尾花特征分类【机器学习】

支持向量机(SVM)是一种二元分类模型。它的基本模型是在特征空间中定义最大区间的线性分类器,这使它不同于感知器;支持向量机还包括核技术,这使得它本质上是一个非线性分类器。支持向量机的学习策略是区间最大化,它可以形式化为求解凸二次规划的问题,等价于正则化铰链损失函数的最小化。支持向量机的学习算法是求解凸二次规划的优化算法。Scikit learn(sklearn)是机器学习中常见的第三方模块。它封装了常见的机器学习方法,包括回归、降维、分类、聚类等。实例的特征向量(以2D为例)映射到空间中的一些点,如下图中的

一键难忘的博客 4970

蓝牙芯片驱动开发-第11章第1题-WiFi蓝牙共存的关键策略有哪些

蓝牙芯片驱动开发-第11章第1题-WiFi蓝牙共存的关键策略有哪些

weixin_42162924的博客 30

Python 爬虫实战:在房天下抓取房产信息,分析房价走势

通过本次 Python 爬虫实战,我们成功地从房天下爬取了房产信息,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分区域的房产数据,且未对房产的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多区域的房产数据,并深入分析房产的多媒体内容、用户行为模式等,为购房者和房地产从业者提供更有价值的数据支持。

u014481728的博客 1367

2026年经典爬虫案例专栏|第17篇:学术论文爬虫实战——知网与万方数据采集

字段名说明数据类型title论文标题字符串authors作者列表列表abstract摘要字符串keywords关键词列表列表journal发表期刊字符串year发表年份整数volume卷号字符串issue期号字符串pages页码范围字符串citations引用次数整数downloads下载次数整数doiDOI编号字符串url论文链接字符串学术论文爬虫是科研工作的重要辅助工具,可以帮助研究人员高效地收集和管理论文数据。

2201_76125261的博客 1062

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 【Chips】跨时钟域的亚稳态处理、为什么要打两拍不是打一拍、为什么打两拍能有效?
下一篇: 【chips】个人笔记系列-SystemVerilog
仰天倀笑
博客等级 码龄10年 313粉丝 124原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值