<新手上路>perl中路径问题

<新手上路>perl中路径问题

$TCbin = `pwd`;
现在想得到上一层目录,我用如下语句:
$TCRoot = "$TCbin/.."或者
system ("$TCRoot = cd $TCbin/..");或者
$TCRoot = `$TCbin/..`;
都不能返回到上一层目录
不知哪位大侠可以赐教!
$TCRoot = `dirname $PWD`

$TCRoot = `echo ${PWD%/*}`
$TCRoot = `dirname $PWD`

$TCRoot = `echo ${PWD%/*}`

采用第一种方式,返回:dirname: missing operand
采用第二种方式,返回:Search pattern not terminated at ./directory.pl line 11.

上面两中方式在SHELL下是可以的,但在PERL文件里就报上面的错误。
还有一个问题,如果是返回4层呢?


QUOTE:
原帖由 ant_tree 于 2008-1-11 14:18 发表
$TCRoot = `dirname $PWD`

$TCRoot = `echo ${PWD%/*}`

采用第一种方式,返回:dirname: missing operand
采用第二种方式,返回:Search pattern not terminated at ./directory.pl line 11.

上面两 ...

sorry,没做测试。
$TCRoot = `dirname \$PWD`

$TCRoot = `echo \${PWD%/*}`

转义一下就可以了。
返回4层是什么意思?
比如:
/root/perl/proc/network/testcase/src
我想返回到/root/perl下面
还有哪位大侠帮忙解决一下啊?急...
循环4次不行么?或者用正则匹配也可以的吧
s/(\/\w+){4}$//;
perldoc File::Spec