我正在使用perl腳本,在這個腳本中我將運行命令並獲得如下輸出:your id is <895162>
。我將存儲該字符串,並僅從該字符串讀取數字。問題是我的主命令將使用來自perl的系統命令在shell中運行。在perl中複製輸出並從中提取數字
,如:
#ids.csh is "echo your id is <1123221>"
my $p = system ("./ids.csh 2>&1 > /dev/null");
print "$p\n";
$p =~ s/[^0-9]//g;
但輸出不復制到$ P檔,如果我錯了?
現在這個命令打印'./ids.csh 2>/dev/null'作爲輸出,我試着用系統,然後它打印回波線,但是沒有把它複製到$ p和$ p值是0,如果我打印它。 – user2828488
然後你沒有使用反引號,你用單引號。反推鍵通常與鍵盤上的鍵相同。或者你可以執行'my $ p = qx!./ ids.csh 2>/dev/null!;(明確地指定qx讓你選擇你想要的任何分隔符)。 – ysth