Perl語言常用模組詳解

2021-12-30 10:13:36 字數 2661 閱讀 4463

1、getopt::std

getopt::std模組的使用:

初始設定:

在程式中加入如下**:

use getopt::std;

use vars qw($opt_d $opt_f $opt_p);

getopts('d:f:p');

#注意上兩行的引數要對應[ 解釋一下"d:f:p",d和f後有冒號,表示-d,-f後面要跟引數。p後面沒有冒號,表示-p後面不帶引數。

而且-d,-f後所跟的引數分別賦給變數$opt_d和$opt_f。對於變數$opt_p,若命令列加了-p,則$opt_p=1,否則為0]

舉個例子就很清楚了:

cat file.pl

use getopt::std;

use vars qw($opt_d $opt_f $opt_p);

getopts('d:f:p');

print "\$opt_d => $opt_d\n" if $opt_d;

print "\$opt_f => $opt_f\n" if $opt_f;

print "\$opt_p => $opt_p\n" if $opt_p;然後在命令列中執行:

perl file.pl -d 20040412 -f louiskoochen -p可得到下列形式的輸出:

$opt_d =>200040412

$opt_f =>louiskoochen

$opt_p =>1這回大家知道getopt::std模組是怎麼回事了吧:)

當然除了getopt::std模組外,還有getopt::long模組。從名字中也能看出該模組功能更強,用法更難!

2、data::dumper

data::dumper模組主要用途是:給出乙個或多個變數,包括引用,以perl語法的方式返回這個變數的內容。

比方說,這裡有個很複雜的hash,資料結構很複雜,我想看看這個hash裡面的內容。除了常見的方式(直接用print或者編歷keys然後列印), 我們也可以使用data::daumper->dump([\%hash])的形式。同時,模組中定義了很多的配置引數,讓使用者可以調整列印格式。

簡單列舉幾個(具體參見perldoc),這些變數在模組

$data::dumper::indent

這個設定列印的縮排格式,可以設定成0,1,2和3。使用者可以自己嘗試下。

$data::dumper::terse

如果設定這個變數,則不列印變數的名字,只列印變數的內容。

$data::dumper::maxdepth

不超過這個變數的限制深度,才列印變數的內容。

下面寫個程式說明問題:

#!/usr/bin/perl

usestrict;

usewarnings;

usedata::dumper;

my%people=(

'name'=>'ray',

'age'=>24,

'***'=>'man',

'food'=>['egg','apple'],

); print"show perl hash, with pre-defined variable name\n ";

print"and without maxdepth\n";

$data::dumper::terse=0;# default is 0

$data::dumper::indent=3;# default is 2

$data::dumper::maxdepth=0;# default is 0

my$variable_name='*'."my_info";

printdata::dumper->dump([\%people],[$variable_name]);

print"show perl hash, without pre-defined variable name\n ";

print"and with maxdepth is 1\n";

$data::dumper::terse=1;# default is 0

$data::dumper::indent=2;# default is 2

$data::dumper::maxdepth=1;# default is 0

$variable_name='$'."my_info";

printdata::dumper->dump([\%people],[$variable_name])

ray@localhost perl]$ perl data_dumper.pl

show perl hash, with pre-defined variable name

and without maxdepth

%my_info = (

'food' => [

#0 'egg',

#1 'apple'

], 'name' => 'ray',

'***' => 'man',

'age' => 24

); show perl hash, without pre-defined variable name

and with maxdepth is 1

perl 模組安裝方法和常用模組

cpan comprehensive perl archive network 是internet上perl模組最大的集散地,包含了現今公布的幾乎所有的perl模組。linux unix perl模組的安裝方法 a.手工安裝 cd usr local src tar xvzf x.x.tar.gz ...

perl安裝模組

1.cpan perl mcpan e shell o conf init 可以初始化cpan vi usr lib perl5 5.8.8 cpan config.pm 更改cpan配置主要是映象的配置 163映象 urllist q install net netmask 就自動安裝了 m 正則...

ansible常用模組詳解

1.模組介紹 明確一點 模組的執行就類似是linux命令的一條命令,就單單的是為了執行一條語句,不是批量的操作,批量操作需要用到playbook內類似shell編寫指令碼進行批量。1.1 模組的使用方法 檢視ansible支援的所有模組 ansible doc l 然後在 ansible doc l...