操作指定文件格式的10个Perl CPAN模块

news/2024/7/4 9:24:21

在Perl开发中,非常可能会碰到一些不同格式的文件——XML、PDF、CSV及RSS文件等,和一些不同的二进制数据格式。Perl应用程序须要操作这些文件,对它们进行读写。

此时。能够求助于全面Perl档案网络(CPAN),简化文件操作工作。

CPAN拥有数量庞大、用于处理不同文件格式的Perl模块。本文列出了10个这种模块。开发者能够使用它们对自己定义文件格式进行操作。

包名

描写叙述

DBI

此模块提供了不依赖数据库的包装,同意Perl与数据库进行通讯。它支持数据库连接和管理。支持运行查询、事务、存储程序和出错处理。通过加入数据库驱动程序,它能支持不同数据库,如:MySQL、 PostgreSQLOracle等。

须要从RDBMS中得到数据时,使用此包。

Archive::Tar

此模块通过一个简单的面向对象界面。对TAR档案文件进行读和写操作。它同意将多个文件打包到一个TAR文件、同意列出TAR文件的内容,而且支持选择性地从TAR文件里提取文件。它也可用于GZIP压缩文件。

须要创建TAR或GZ档案文件或从档案文件里提取文件时,使用此包。

Archive::Zip

此模块用于Perl程序读写ZIP档案文件。它提供了OOP方法创建和读ZIP文件,而且支持向档案文件里加入新文件、更改档案文件的内容(包含更改名字和日期)、提取档案文件内容或查询文件信息。

须要创建ZIP文件或须要从ZIP档案文件里提取文件时,使用此模块。

Class::CSV

此模块提供基于对象的构架。对逗号分隔的数据进行有效处理。它同意CSV文件作为对象出现(反之亦然)。能够将逗号间隔的值读入Perl变量。它也包括了使用自己定义模式和分隔符向文件里写入新CSV记录的方法。

须要操作逗号分隔的数据字段时。使用此模块。

Unix::PasswdFile

此模块提供面向对象界面,操作不同类型的password文件。它包括加入、编辑和删除用户和password的方法,也包括验证password和产生password的方法。它也可用于password文件的其他字段的操作,比如:文件夹、shell配置以及GECOS字符串。

须要操作UNIXpassword文件:验证password、加入/编辑/删除用户帐号和配置时,使用此包

PDF::API2

此模块同意创建新PDF文件或操作已存在的PDF文件。它同意在PDF文件里加入新页面、设置文本字体和字体属性、插入图片和调整色彩。它也包括导入窗口、导出PDF数据为字符串、设置和更改PDF文件信息的方法。

须要创建PDF文件或须要从已存的PDF文件里获得元数据时,使用此包。

XML::RSS

此模块用于创建维护RSS入口。它提供面向对象界面查询RSS入口,获得标题和内容。而且将RSS数据转换成合适的HTML页面,满足浏览器显示。

须要从RSS入口提取信息或创建RSS入口时。使用此包。

Win32::Word::Writer

此模块用于创建新的Microsoft Word文档(Win32 Perl。须要Microsoft Word)。它同意设置字体和颜色。使用不同风格设置文本格式。创建列表和表格。

须要动态创建Microsoft Word文件时,使用此包。

MP3::Tag

此模块是几个不同MP3标签阅读器的包装器。

它提供程序察看编辑存储在MP3文件头(“标签”)中的原数据信息。它支持阅读和更改公共字段,如:作者、标题、长度、类别、持续时间或者创建新自己定义字段。

须要创建新MP3文件标签或读、更改已存的标签时,使用此包。

Net::vCard

此模块对存储格式为vCard的联系信息进行解析并将它们转换成Perl数据结构。

须要将vCard地址和联系信息转化成其他格式(XML 或r SQL)时,使用此包。

 


http://www.niftyadmin.cn/n/4588612.html

相关文章

数据库相关锁和冲突

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/frankies/blog/164496

CSDN 产品事业部开设官方博客了!来关注我们的一举一动吧!

如果你在跟踪Ext JS动态,你可能已经知道,在Ext JS 4中有一个全新的数据包。新的数据包在Ext JS 3的基础上,增加了大良的新功能。近期我们在博客上介绍了新的数据包,今天我们将深度探讨新的Model类。 几乎每一个Model类就代表了应用…

MYSQL插入数据时忽略重复数据

2019独角兽企业重金招聘Python工程师标准>>> 当程序中insert时,已存在的数据不插入,不存在的数据insert。在网上搜了下, 可以使用存储过程或者是用NOT EXISTS 来判断是否存在。 使用下以两种方法时必须把字段设为”主键(PRIMARY K…

Windows 7下VMware中Linux网络共享设置

1、无线网络共享:如果共享出现错误提示,则打开服务,启动windows firewall服务注意:这里勾选共享后,提示会将vmnet1 的ip设置成192.168.137.1,就用这个默认的就可以了,不用修改。2、设置vm中linu…

Extjs表单组件及属性

Ext.form.Action 配置项: success:执行成功后回调的函数,包括两个参数:form和action failure:执行失败后回调的函数,包括两个参数:form和action method:…

(转)sql多表查询,Oracle、mysql的用法区别

2019独角兽企业重金招聘Python工程师标准>>> 1.前言:上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 : 1)多表连接有哪些分类; 2)针对这些分类有哪些连…

Linux Kernel Development -- 设置当前进程的状态

首先查看内核源码中是如何定义的 #define __set_task_state(tsk, state_value) \ do { (tsk)->state (state_value); } while (0) #define set_task_state(tsk, state_value) \ set_mb((tsk)->state, (state_value)) /* * set_current_state() includes a barrier …