Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259553
  • 博文数量: 82
  • 博客积分: 2477
  • 博客等级: 大尉
  • 技术积分: 725
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-06 23:24
文章分类

全部博文(82)

文章存档

2013年(1)

2012年(3)

2011年(15)

2010年(36)

2009年(27)

分类:

2010-03-05 17:28:09

为了保证平台兼容性,多使用Cwd取当前目录
use Cwd;
my $dir = getcwd;
或者
my $dir = cwd;
my $dir = fastgetcwd;
它们都返回程序运行的当前路径.

use Cwd 'abs_path';
my $abs_path = abs_path($file);
或者$abs_path = realpath($file);
或者$abs_path= fast_abs_path($file);
返回一个文件的真实地址,Symlink的话返回Symlink到的地址.

默认的,$ENV{PWD}总不会更新
#!/usr/bin/perl
print $ENV{PWD};        # /root/perl
chdir('/');
print $ENV{PWD};        # /root/perl

要解决这个问题,可以使用use Cwd qw(chdir):
#!/usr/bin/perl
use Cwd qw(chdir);
print "$ENV{PWD}\n";
chdir('/');
print "$ENV{PWD}\n";        # /

阅读(10509) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~