perl脚本之目录

来源:

http://www.cnblogs.com/itech/archive/2013/02/20/2919204.html

http://stackoverflow.com/questions/5703705/print-current-directory-using-perl?rq=1

1)

The following get the script‘s directory, which is not the same as the current directory. It‘s not clear which one you want.

use Cwd qw( abs_path );
useFile::Basename qw( dirname );

say dirname(abs_path($0));

or

usePath::Class qw( file );

say file($0)->absolute->dir;

or

useCwd qw( abs_path );

use Path::Class qw( file );

say file(abs_path($0))->dir;

The middle one handles symlinks different than the other two, I believe.

2)

To get the current working directory (pwd on many systems), you could use cwd() instead of abs_path:

useCwd qw();

my $path =Cwd::cwd();

print "$path\n";

Or abs_path without an argument:

useCwd qw();

my $path =Cwd::abs_path();

print "$path\n";

See the Cwd docs for details.

To get the directory your perl file is in from outside of the directory:

useFile::Basename qw();

my($name, $path, $suffix)=File::Basename::fileparse($0);

print "$path\n";

See the File::Basename docs for more details.

3)

You could use FindBin:

use FindBin ‘$RealBin‘;

print "$RealBin\n";

FindBin is a standard module that is installed when you install Perl. To get a list of the standard pragmatics and modules, see perldoc perlmodlib.

时间: 2024-11-09 14:26:59

perl脚本之目录的相关文章

window-运行perl脚本(搭建health-check环境)

安装vsphere sdk VMware-vSphere-Perl-SDK-5.1.0-780721.exe ##看具体的情况安装对应版本的sdk 修改系统环境变量,将安装路径Perl/bin和Perl/site/bin添加到path变量的后面 cmd到perl脚本目录: perl *.pl  --serrver ip –username name –type vcenter ##vcenter服务器 perl *.pl     --server ip –username name –type

Perl脚本访问Greenplum数据库安装指导

安装前准备 (1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等)) linux-82:/home/PlODBC # cat/etc/SuSE-release SUSE Linux EnterpriseServer 11 (x86_64) VERSION = 11 PATCHLEVEL = 1 (2)安装所需的软件包 greenplum-connectivity-4.3.0.0-build-2-SuSE10-x86_64.zip --GP官网下载,GP的JDBC和ODBC驱动 DBI-

perl 脚本测试

原文  http://blog.csdn.net/johnny710vip/article/details/8905239 这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的模块,如果文中介绍的不够详细,请到cpan上搜索该模块并查阅其文档.  1基本语法检查 Perl语言的哲学是“There is more than one way to do it”,很多讨厌Perl的人总是拿Perl的这个特性来攻击Perl,而喜欢Perl的人却又极力推崇它.这里不讨论这个特性是好是坏,但不可否

DBMS_SCHEDULER执行PERL脚本加载数据

1.例子利用oracle 11g 的dbms_scheduler包执行perl脚本加载数据文件,其中主要用到三个过程分别为SET_JOB_ARGUMENT_VALUE,CREATE_JOB,RUN_JOB三个过程,其中三个过程的参数说明如下: create_job参数: Attribute Description job_name Name of the job job_class Name of the job class job_style Style of the job: REGULAR

Apache服务器中运行CGI程序的方法,文中以Perl脚本作为示例

关于apache与CGI在这里就不解释了. 1.apache下面以2.0.63为例介绍运行CGI程序的配置.(http://www.nklsyy.com) 2.下载Windows下的Perl解释器ActivePerl,最新版本ActivePerl- 5.10.0.1003,假设安装路径为c:\Perl. 3.修改apache的配置文件httpd.conf: <Directory "D:/Apache Group/Apache2/cgi-bin"> AllowOverride

Verilog代码自动缩进和对齐Perl脚本

实验室做FPGA开发时经常用到Verilog,代码规范成为一个问题,于是乎写了一个Perl脚本对代码进行规范化,主要是进行自动缩进和对齐. 代码原理很简单,主要是使用了正则表达式进行匹配和替换. 代码如下,初学Perl,请读者赐教: ##################################################### # 代码缩进对齐脚本 # 功能:对Verilog代码进行自动缩进和对齐处理, # 该版本目前还没有对case语句进行处理 # 更改:增加了对assign的缩进

写的一个perl脚本,用于发送远程MySQL命令

想写一些简化管理操作的脚本,下面是基础脚本之一. 对于一个从来没使用过perl脚本的我来说还是有些难度的,直接上代码. 此脚本用于发送远程MySQL命令并且接收结果,功能比较简单,后面会渐渐完善. #!/usr/bin/perl use Getopt::Long; use DBI; Getopt::Long::GetOptions( 'host|h=s' => \$host, 'user|u=s' => \$user, 'password|pw=s' => \$password, 'po

perl脚本中对数据库的操作

perl中DBI模块为mysql数据库相关操作的接口,首先需要在环境中安装DBI模块.perl处理数据库操作的大致步骤如下:#声明使用DBI模块use DBI;#设置数据库连接参数,指定连接数据库名,数据库所在服务器ip地址,连接用户名,密码# db_name为要连接的数据库名,ip为数据库所在服务器ip地址my $database='DBI:mysql:database=db_name;host=ip';my $user='user_name';my $pw='password';#连接数据库

perl脚本中对字符编码的支持

# 使perl程序支持utf8宽字符编码,不添加下面几行打印中文字符时将出现Wide character in print警告或错误.use utf8;binmode(STDIN, ':encoding(utf8)');binmode(STDOUT, ':encoding(utf8)');binmode(STDERR, ':encoding(utf8)');perl脚本处理中文等字符时,有时从文件读出的数据为字节码,需要进行解码才能正确显示.使用Encode模块即可处理.use Encode;#