PERL开发环境搭建>>Windows,Linux,Mac OS

特点

简单

快速

perl解释器直接对源代码程序解释执行,是一个解释性的语言, 不需要编译器和链接器来运行代码>>速度快

灵活

借鉴了C/C++, Basic, Pascal, awk, sed等多种语言, 定位于实用性语言,既具备了脚本语言的所有功能,也添加了高级语言功能

开源.免费 

没有"源代码保护条款" 

应用场合

开发环境搭建

Windows下搭建

下载安装软件

 1.自己安装编译器>>下载Perl模块>>依次进行编译,注册安装

2.下载已经编译好的文件,直接安装

区别: 前一种方法可以安装所有的模块, 后一种方法只能安装预先设定好的模块. 一般编译好的模块都包括了日常所需的模块>>初学者建议选择第二种

Strawberry perl的安装 :  Strawberry perl的下载,查询版本号,配置Path环境变量,查找perl解释器的位置-CSDN博客

其他软件: ActivePerl 

2.点击文件进行安装

3.设置环境变量

安装软件(ActivePerl ,ActivePerl )时,软件会自动设置环境变量, 有时由于系统的兼容性问题, 需要手动设置

设置环境变量的目的是: 在使用Perl时, 只需要输入perl, 可以不带绝对路径>>让系统认识这四个字母

设置环境变量的方法:Strawberry perl的下载,查询版本号,配置Path环境变量,查找perl解释器的位置-CSDN博客

4.测试安装是否成功

Strawberry perl的下载,查询版本号,配置Path环境变量,查找perl解释器的位置-CSDN博客

在Linux下搭建

下载 → 解压 → 配置 → 编译 → 安装

以下所有命令均在Linux终端中执行 

1.检查是否自带Perl

大多数Linux系统自带perl, 但可能存在版本过旧的问题

2.下载安装源码

如果系统没有Perl, 下载安装源码

# 示例下载链接(需替换为实际版本)
wget https://www.cpan.org/src/5.0/perl-5.20.2.tar.gz
  • 作用:从 Perl 官网 下载指定版本的源码压缩包。

注意:需确保系统已安装 wget 或 curl

如果官方链接失效,可通过国内镜像(如阿里云、清华源)下载 Perl 源码包

wget https://mirrors.aliyun.com/CPAN/src/5.0/perl-5.20.2.tar.gz

检查wget是否安装

检查cur1是否安装

如果未安装,根据系统包管理器安装

安装后再次运行 which 或 --version 命令确认是否成功

3. 解压源码包

tar zxvf perl-5.20.2.tar.gz -C /usr/local/src
  • 作用:解压下载的 tar.gz 文件到 /usr/local/src 目录。

  • 参数解释

    • z:解压 .gz 格式。"gzip"

    • x:解压文件。"extract"

    • v:显示解压过程(可选)。"verbose"

    • f:指定文件名。"file"

    • -C:指定解压目标目录。"change directory"

  • 执行位置:在终端中运行,需确保当前用户对 /usr/local/src 有写入权限。

4. 创建安装目录

mkdir /usr/local/perl

没有root权限时 

sudo mkdir /usr/local/perl

5.  进入解压目录

cd /usr/local/src/perl-5.20.2

如果解压路径不同,需调整命令中的路径

6. 配置编译选项

./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
  • ./Configure
    Perl 的配置脚本(注意首字母大写 C,这是 Perl 特有的脚本名称)。

  • -des

    • -d:使用默认答案(非交互式安装)。"default"

    • -e:静默模式(不显示冗长输出)。"execute" 或 "environment"

    • -s:跳过部分非必要提示, 静默安装。"silent"

  • -Dprefix=/usr/local/perl
    指定安装路径,编译后的 Perl 会安装到 /usr/local/perl/bin/,避免覆盖系统自带 Perl。-Dprefix 指的是"destination prefix"目标安装路径

  • -Dusethreads
    启用线程支持(需系统具备线程库,如 pthread)。-Dusethreads 选项代表的是 "enable threads", 在编程和命令行参数中,-D 前缀通常用于表示 "define" 或 "enable" 的意思。这种用法源自于 C 语言和 Unix 系统中的宏定义,其中 -D 用于定义宏。

  • -Uversiononly
    禁用仅保留版本号命名的 Perl 二进制, -Uversiononly 选项代表 "Universal version only"。这个参数用于指定在安装或编译 Perl 时,只使用通用的版本命名(如 perl),而不是特定版本的命名(如 perl5.20.2

7.编译和安装

make      # 编译源码(可能耗时较长)
make test # 可选:运行测试套件
sudo make install  # 安装到指定前缀路径

 8.替换系统自带的 Perl 版本

 备份系统自带的 Perl
sudo mv /usr/bin/perl /usr/bin/perl.bak

创建符号链接
sudo ln -sf /usr/local/perl/bin/perl /usr/bin/perl
  • sudo:以超级用户(root)权限执行命令。sudo 代表 "superuser do"。

  • ln:命令用于创建链接,可以是硬链接或符号链接。ln 代表 "link"。

  • -s:指定创建符号链接(软链接)。s 代表 "symbolic"。

  • -f:如果目标链接已经存在,强制删除并重新创建。f 代表 "force"。(若未备份原文件,需谨慎使用)

 测试是否安装成功

perl -version

如果返回” This is perl 5, version ......” 说明安装成功

9. 执行perl脚本

方法1

通过 Perl 解释器显式运行

perl test.pl
  • 无需 shebang 和文件权限,直接调用当前环境的 perl 解释器。

是否要配置 PATH 环境变量 

 1.不需要配置 PATH 的情况

系统默认 Perl 路径已包含在 PATH 中

运行

which perl

若输出类似 /usr/bin/perl,则说明已全局可用

2.需要配置 PATH 的情况

自定义安装路径

# 临时生效(仅当前终端)
export PATH=/usr/local/perl/bin:$PATH# 永久生效(添加到 ~/.bashrc 或 ~/.bash_profile)
echo 'export PATH=/usr/local/perl/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

之后才能直接调用 perl test.pl(否则需写全路径 /usr/local/perl/bin/perl test.pl) 

多版本共存时切换默认 Perl

若系统存在多个 Perl 版本(如系统自带 /usr/bin/perl 和自定义安装 /usr/local/perl/bin/perl),需通过 PATH 优先级控制默认版本。

临时切换

# 使用自定义版本优先
export PATH=/usr/local/perl/bin:$PATH# 使用系统版本优先
export PATH=/usr/bin:$PATH

永久切换

# 永久生效(添加到 ~/.bashrc 或 ~/.bash_profile)
echo 'export PATH=/usr/local/perl/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
方法2

 给perl脚本文件添加执行权限

chmod +x test.pl

必须在脚本第一行指定 Perl 解释器路径

#!/usr/bin/perl
# 或使用自定义路径(如新安装的 Perl)
#!/usr/local/perl/bin/perl

执行

./test.pl
  • ./ 表示当前目录(相对路径),避免被系统误认为是命令。

Mac  OS下搭建

 MacO系统默认自带安装了Perl,也可通过Xcode来重新安装Perl

进入 App Store,搜索并安装 Xcode(苹果官方开发工具包)。

在Applications->Utilities下打开Terminal.app,

输入

curl-L http://xrl.us/installperlosx | bash
  1. curl

    • 一个用于传输数据的命令行工具,支持 HTTP、HTTPS、FTP 等协议。

    • 此处用于从指定 URL 下载内容。

  2. -L 选项

    • 让 curl 自动跟随重定向(如果 URL 返回 301/302 跳转,会追踪到最终地址)。

    • 例如,xrl.us 是一个 URL 缩短服务,实际会跳转到真实的 Perl 安装脚本地址。

    • L 即 "location"

  3. http://xrl.us/installperlosx

    • 这是 Perl 官方为 macOS 提供的安装脚本的短链接。

    • 实际会跳转到类似 https://raw.githubusercontent.com/perlbot/installperlosx/main/installperlosx 的地址(具体以官方为准)。

   4. | bash

  • 将下载的脚本内容通过管道( | )传递给 bash 解释器直接执行,完成 Perl 的自动安装。

安装完成后,在终端中perl-v查看已安装的Perl版本信息

在终端中用 perl<程序名>来运行Per程序

短链接 

http://xrl.us/installperlosx 是一个 URL 短链接,它的作用是将一个很长的原始网址压缩成简短易记的形式。

xrl.us 

是 Perl 社区中一个知名的 URL 短链接服务,专门为 Perl 相关的资源、文档、邮件列表或讨论提供简短的网址。它的域名是 "xrl.us"(发音类似 "short URL")

短链接如何映射到原始链接

短链接服务(如 xrl.us)维护一个 数据库,存储短链接和原始 URL 的对应关系

如何根据原始 URL 创建短链接
方法 1:通过短链接服务网站
  1. 访问短链接服务提供商的网站(如 xrl.us 或 bit.ly)。

  2. 在输入框中粘贴原始 URL(长链接)。

  3. 点击生成按钮,系统会返回一个短链接(如 http://xrl.us/installperlosx)。

方法 2:通过 API(编程方式)

部分服务提供 API,可通过代码生成短链接。例如:

终端输入

curl -X POST https://api.xrl.us/create \-d "url=https://raw.githubusercontent.com/perlbot/installperlosx/main/installperlosx"

返回结果可能包含短链接

{"short_url": "http://xrl.us/installperlosx"}

解释命令

curl

  • 功能:一个用于传输数据的命令行工具,支持多种协议(HTTP/HTTPS/FTP 等)。

  • 此处作用:向指定的 API 发送 HTTP 请求。

-X POST

  • 功能:指定 HTTP 请求方法为 POST(用于提交数据)。

  • 说明:创建资源时通常使用 POST 方法。

https://api.xrl.us/create

  • 功能:目标 API 地址(假设的短链接服务接口)。

  • 说明:

    • api.xrl.us:短链接服务提供商的 API 域名。

    • /create:生成短链接的接口路径。

-d "url=原始URL"

  • 功能:发送 POST 请求的正文数据(表单格式)。

  • 参数:

    • url=:服务商定义的参数名(表示要缩短的原始 URL)。

    • 后面的长链接是待缩短的目标地址。

    • -d 代表"data"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43074.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker(2) -- 启动后修改目录和网络

1. 前言 docker启动前是image文件&#xff0c;启动后是container文件&#xff0c;启动的时候我们可以指定容器的挂载目录以及网络类型&#xff0c;但启动后&#xff0c;这些信息都以配置文件的形式保存在container中&#xff0c;container重新启动时无法重新指定这些信息&…

Flutter开发中如何避免UI显示溢出的问题

文章目录 1. 使用灵活的布局组件2. 允许内容滚动3. 处理文本溢出4. 检查父容器约束5. 使用自适应布局6. 调试工具7. 其他技巧总结 在 Flutter 开发中&#xff0c;UI 溢出&#xff08;如 A RenderFlex overflowed 错误&#xff09;通常是由于布局空间不足或子组件尺寸超出父容器…

使用FastExcel时的单个和批量插入的问题

在我们用excel表进行插入导出的时候&#xff0c;通常使用easyexcel或者FastExcel&#xff0c;而fastexcel是easy的升级版本&#xff0c;今天我们就对使用FastExcel时往数据库插入数据的业务场景做出一个详细的剖析 场景1 现在我们数据库有一张组织表&#xff0c;组织表的字段…

【力扣刷题|第十七天】0-1 背包 完全背包

目标和 力扣题目网址:目标和 这道题我们先用回溯的思想来做。首先我们设正数和为S&#xff0c;数组和为N&#xff0c;目标值为T&#xff0c;那么S-(N-S)T化简之后可以得S(TN)/2即选择的正数个数为偶数&#xff0c;而且NT也为偶数&#xff0c;那么第一个判断条件我们就有了&…

深入浅出 Embedding

1. 什么是 Embedding? Embedding(嵌入)是一种将高维数据映射到低维连续空间的技术,用于表达数据的语义关系。简单来说,它是一种向量化表示,将文本、图像、用户行为等信息转换为数值向量,使得相似的数据在向量空间中距离更近。 2. 如何理解 Embedding? 2.1 浅显易懂的…

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建&#xff0c;Fabric 模组详细搭建教程 一、 服务器介绍二、安装 JDK 21三、搭建 Minecraft 服务端四、本地测试连接五、如何添加模组&#xff08;mods&#xff09;六、添加服务&#xff0c;并设置开…

【MLP-BEV(10)】BEVPooling V1和BEVPooling V2的view_transformer,进行鱼眼图片实践

文章目录 先说说 BEVPoolv1步骤1:3D点生成步骤2 2D特征采样和BEV特征生成特点再谈谈BEVPoolv2步骤1:3D点生成步骤2: 计算索引关系步骤3: `voxel_pooling`计算鱼眼图片进行实践步骤1、3D点生成(基于Kannala-Brandt 进行调整)步骤2、2D特征采样和BEV特征生成(1) 体素化 (Voxe…

鸿蒙项目源码-天气预报app-原创!原创!原创!

鸿蒙天气预报项目源码包运行成功含文档ArkTS语言。 我半个月写的原创作品&#xff0c;请尊重原创。 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作品&#xff0c;盗版必究&#xff01;&#xff01;&#xff01;&#xff01; 原创作品…

告别桌面杂乱与充电焦虑,移速165W百变桌面充电站首发体验

告别桌面杂乱与充电焦虑&#xff0c;移速165W百变桌面充电站首发体验 哈喽小伙伴们好&#xff0c;我是Stark-C~ 先如今&#xff0c;家里的电子产品越来越多&#xff0c;手机、平板、电脑三件套已经是基础配置&#xff0c;还有相机、Switch、智能手表等&#xff0c;这些产品用…

skill插件教程——skill程序的组成以及调用方法

skill程序的基本组成 1、基础的程序文件 插件运行的基础——就是你写程序的文件&#xff0c;格式为il文件&#xff0c;就是文本文件格式 2、调用程序的文件——allegro.ilint 文件申明在那个位置——在这个文件夹下&#xff0c;写入你调用的函数。 例如load&#xff08;“…

解决Dubbo3调用Springcloud接口报No provider available from registry RegistryDirectory

解决Dubbo调用Springcloud接口报No provider available from registry RegistryDirectory 问题发现问题解决 问题发现 在学习Dubbo过程中&#xff0c;Dubbo官网有一篇文章《微服务最佳实践&#xff0c;零改造实现 Spring Cloud & Apache Dubbo 互通》&#xff0c;跟着示例…

基于RFID技术建筑物资材料智能管理解决方案

建筑行业仓库和物资材料管理面临诸多挑战&#xff0c;如工程设备重复利用的管理需求、物资出入库管理不规范、账物不符、物资丢失等问题。特别是在复杂多变的工地环境中&#xff0c;对物资进行科学规范的管理难度极大。上海岳冉基于RFID技术的建筑物资材料智能管理解决方案聚焦…

WSL系统找不到指定的文件

问题介绍 在尝试使用linux子系统时&#xff0c;发现无法打开 在尝试使用docker时无法使用 在命令行cmd或者powershell使用wls相关命令时&#xff0c;报错 相关错误提示均为&#xff1a; 系统找不到指定的文件 解决方法 试了各种方法无效。 直接到github下载最新版的wsl安装…

海量数据处理

1.海量数据处理问题 给两个文件&#xff0c;分别有100亿个query&#xff0c;只有1G内存&#xff0c;如何找到两个文件交集&#xff1f; 解决方案一&#xff1a; 可以先用布隆过滤器&#xff0c;一个文件的query放进布隆过滤器&#xff0c;另一个文件依次查找&#xff0c;在的…

英伟达GB300新宠:新型LPDDR5X SOCAMM内存

随着人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&#xff09;和高性能计算&#xff08;HPC&#xff09;应用的快速发展&#xff0c;对于高效能、大容量且低延迟内存的需求日益增长。NVIDIA在其GB系列GPU中引入了不同的内存模块设计&#xff0c;以满足这些严格…

PC名词解释-笔记本的S0,S1,S2,S3,S4,S5状态

​&#x1f393;作者简介&#xff1a;程序员转项目管理领域优质创作者 &#x1f48c;个人邮箱&#xff1a;[2707492172qq.com] &#x1f310;PMP资料导航&#xff1a;PM菜鸟&#xff08;查阅PMP大纲考点&#xff09; &#x1f4a1;座右铭&#xff1a;上善若水&#xff0c;水善利…

群体智能优化算法-算术优化算法(Arithmetic Optimization Algorithm, AOA,含Matlab源代码)

摘要 算术优化算法&#xff08;Arithmetic Optimization Algorithm, AOA&#xff09;是一种新颖的群体智能优化算法&#xff0c;灵感来源于加、减、乘、除四种基本算术运算。在优化过程中&#xff0c;AOA 通过乘除操作实现全局探索&#xff0c;通过加减操作强化局部开发&#…

Centos7安装cat美化工具lolcat

Centos7安装cat美化工具lolcat Centos7安装lolcat使用ruby安装lolcat配置cat系统别名 结果验证 Centos7安装lolcat lolcat &#xff1a;一个在Linux 终端中输出彩虹特效的命令行工具 使用ruby安装lolcat # 安装ruby和zip yum install -y ruby# 查看ruby版本 ruby --version# …

vue在线录音系统

说明&#xff1a; 用vue做一款录音系统 1.点击按钮&#xff0c;开始录制音频 2.录制过程中&#xff0c;可以暂停和停止录制 有时长显示 3.点击停止录制 可以保存音频&#xff0c;保存在本地 4.找到刚刚保存的音频路径&#xff0c;可以点击播放 &#xff0c;需要显示音频总时…

参量编码LPC:原理分析与仿真实践

参量编码LPC&#xff1a;原理分析与仿真实践 在早期通信系统中&#xff0c;带宽资源有限&#xff0c;而波形编码要精确重现语音波形&#xff0c;这就需要较高的码率来传输大量数据&#xff0c;这在带宽不足的情况下就成了阻碍语音传输的大难题。随着通信技术不断进步&#xff…