Perl语言入门笔记 第十一章 perl模块

=pod
第十一章	perl模块

寻找模块:
	cpan -a

安装模块:
	perl Makefile.PL
	make install #如果没有权限安装在系统级目录,那就安装在个人目录
	perl Makefile.PL INSTALL_BASE=/Users/fred/lib

使用简易模块:
	my $name = "/usr/local/bin/perl";
	对上面路径得到perl子串
	my $basename = $name =~ s#.*/##s; #/前面的有空替换掉,包括中间有\n的
	但perl自带的函数已经解决了这个问题

File::Basename模块:
	通过perldoc Filedoc File::Basename来了解他的使用信息
	use File::Basename;
	my $name = "/usr/local/bin/perl";
	my $basename = basename $name; #返回perl
	
	use File::Basename qw//; #不导入函数名称,但可以使用全程使用
	my $dirname = File::Basename::dirname $name; #使用模块中的dirname函数,因为有时自己写的函数有可能和模块导入的函数重名
	use File::Base qw /basename/; #导入basename函数

File::Spec模块:
	由文件和路径结合成全路径
	 my $dirname = dirname $old_name;
	my $basename = basename $old_name;
	my $newname = File::Spec->catfile($dirname, $basename);

Path::Class:比File::Spec更好用
	my $dir = dir(qw(User fred lib));
	my $subdir = $dir->subdir('perl5'); #users/fred/perl5
	my$parent = $dir->parent; #usrs/fred
	my $windir = $dir->as_foreign('Win32'); #Users\fred\lib
	
CGI.pm:
	


数据库和DBI模块:
	DBI(Database Interface,数据库接口)并没有随标注版发行
	DBI的美妙之处是不管哪种常见的数据库,都可以用相同的接口对其进行操作,从csv文件到oracle之类的大型数据库服务器,他还具有ODBC驱动程序

	通过DBI模块连接数据库,执行数据库指令,断开数据库,结束
	
处理日期和时间的模块:
	经典的是Dave Rolsky编写的DateTime模块
	Time::Piece是perl5.10后自带的模块
	
=cut


简单练习:

#!/usr/bin/perl -w
use strict;

use File::Basename;
use File::Spec;
use Path::Class;


  use Time::Piece;

  my $t = localtime;
  print "Time is $t\n";
  print "Year is ", $t->year, "\n";

=pod
my $dir = dir(qw(User fred lib));
my $subdir = $dir->subdir('perl5'); #users/fred/perl5
my $parent = $dir->parent; #usrs/fred
my $windir = $dir->as_foreign('Win32'); #Users\fred\lib

print "$dir\n";
print "$subdir\n";
print "$parent\n";
print "$windir\n";
=cut

=pod
print "Please enter a filename: ";
chomp(my $old_name = <STDIN>);

my $dirname = dirname $old_name;
my $basename = basename $old_name;
my $newname = File::Spec->catfile($dirname, $basename);

rename($old_name, $newname) or warn "Can't rename '$old_name' to '$newname': $!";
=cut


=pod
my $name = "/usr/local/bin/perl";
my @array = ();
#my $basename = basename $name, @array;
my $basename = fileparse $name, @array;

print $basename, "\n";
print '@array = ', "@array\n";
=cut

system("pause");


posted @ 2015-09-21 01:54  笑面浮屠  阅读(237)  评论(0编辑  收藏  举报