2014-08-29 22 views
1

我正在使用RRDs::Simple函數,它需要一堆參數。如何在函數內部打印變量

我已經將這些參數放置在一個特殊的變量(解析,排序和計算文件中的數據)中,並帶有所有引號,逗號和其他內容。

當然

RRDs::create ($variable); 

不起作用。

我瀏覽了所有perl特殊變量並且什麼也沒找到。

如何將變量的名稱替換爲包含在該變量中的數據? 至少你能告訴我什麼樣的工具(也許是另一個特殊的變量)它可以做到?

回答

3

假設我理解你的要求:

你已經建立$變量中的「創造」的數據,並正在試圖用RRDs::create真正做到這一點?

第一步是:

  • print $variable,"\n"; - 看到什麼是真正存在。你應該可以在命令行中使用這個,rrdtool create。 (這需要一個文件名,時間步長,以及一些有效DSRRA參數)

  • 通常,我將使用一個陣列,以通入RRDs::create

    RRDs::create ("test.rrd", "-s 300", 
          "DS:name:GAUGE:600:U:U",) 
    

如果$variable已經包含這些信息,那應該沒問題。告訴了什麼問題的方法是:

if (RRDs::error) { print RRDs::error,"\n"; } 

這有可能是創建文件的問題,或者您的RRD定義是出於某種原因無效。 rrdtool create就會在命令行上告訴你,RRDs::error也一樣;

+1

謝謝你的回答。你理解我是對的。也感謝你「RRDs ::錯誤」!我在$變量裏面發現了錯誤。所以,事實證明我不需要「一些特殊的變量」,只是在RRD中打印錯誤。 – Pentoxide 2014-08-29 10:12:23