我在檢查$return
變量時非常困難。即使該進程仍在運行,print "return = ". $return ."\n";
始終回到空白。我確實收到了有關未初始化變量的警告。有人可以解釋嗎?無法檢查變量
my $process="MInstaller";
my $return=` ps -eaf |grep $process | grep -v grep`;
sub chk_proc{
print "in chk_proc\n";
print "\n";
print "return = ". $return ."\n";
while (my $return ne "") {
sleep(5);
};
};
你是否在你發佈的內容之外的地方調用'chk_proc()'例程? – PaulProgrammer
您的while循環使用'my $ return ...'這是一個新變量,而不是引用'ps'倒退輸出。另外,如果你在調用chk_proc,那麼你將在哪裏進行睡眠循環,它會無限循環,因爲你沒有辦法讓'$ return'變量在該範圍內更新。 – PaulProgrammer
你得到的警告是用你的'我的$ return ne'「',其中'$ return'是前面的'my',確實是一個新的變量,它與''」'進行比較除「undef」以外的值。爲了避免這種情況,請移除'my'。 –