2011年3月9日星期三

[PerlChina] perl程序中,如何使用shell自己的变量?

大家好! 


    我想在perl程序中得到linux系统的一些值,使用shell比较方便实现,但是有个问题,就是perl把shell的变量当作了自己的变量来替换了,比如:

ps aux |awk "BEGIN { print '%CPU %MEM %STAT PID COMMAND' } { if ('$3' > 25 || '$4' > 25 || '$8'~/Z/ && '$8'!~/Z</) print '$3', '$4', '$8', '$2', '$11'}" |sort

上面命令,在linux系统上面是跑的很正常的,但是,如果放到perl程序中,所有的变量都变成了perl的了,有什么方法可以在perl程序中,完整的得到此命令的输出结果?

比如:
    
my $ps = `ps aux |awk "BEGIN { print '%CPU %MEM %STAT PID COMMAND' } { if ('$3' > 25 || '$4' > 25 || '$8'~/Z/ && '$8'!~/Z</) print '$3', '$4', '$8', '$2', '$11'}" |sort`

而$ps却得不到想要的值。


没有评论: