5
A
回答
9
printf
的第一個參數被解釋爲輸出格式,而不是輸出本身。有關詳細信息,請參見perldoc -f printf和man 3 printf。
的問題是,printf
有時可能會嘗試寫入其ARGS (這甚至已經進行了幾個漏洞的源C programs),例如:
perl -we 'printf "abc%n\n", $_; print "$_\n";'
正如你可以看到,該套$_
爲3,這是發生在%n
之前的字符數。嘗試%n沒有進一步的參數,你會看到來自OP的確切的錯誤消息。
長話短說:使用print
除非你真的需要高級格式。除非您確實需要更高級的格式,否則請將第一個參數保留爲printf
r/o。
+0
謝謝。然後我會使用打印。 – jebediah 2011-05-11 04:42:46
2
您將需要檢查stdout的失敗。我的猜測是,偶爾,$ response {_content}包含對printf有特殊含義的序列。
1
我只是有相同的錯誤消息,也與printf的,但我這樣做:從博客
printf "%-10s $value\n", $label;
值有時包含十六進制編碼數據。除了與「X」運營商做填充,我發現,所獲得的價值出來的格式字符串還曾:
printf "%-10s %s\n", $label, $value;
我想在格式字符串問題可能是由於百分比(%)被解釋爲一個格式化的值,但與&符號(&)擺弄使錯誤消失。無論如何,現在插入一個將被解釋的值似乎是需要避免的。
相關問題
- 1. 獲得一個只讀值的修改的錯誤嘗試
- 2. Perl正則表達式:嘗試修改只讀值
- 3. Odoo 8:嘗試修改只讀對象後出現個性化錯誤消息
- 4. 嘗試寫入只讀數據庫 - Django的W/SELinux的錯誤
- 5. TypeError:嘗試更改只讀屬性的值。 defineProperty
- 6. 嘗試IB修復後的SIGABRT錯誤
- 7. 嘗試修改nscopied對象的屬性時出現錯誤
- 8. 錯誤嘗試修改的Git配置文件在Windows
- 9. 修改printf
- 10. 嘗試修復Apache或Wordpress錯誤
- 11. 嘗試修改使用PowerShell
- 12. 嘗試修改hbitmap數據時出現堆棧錯誤
- 13. Scala錯誤:嘗試修改內容時「重新分配到val」?
- 14. 嘗試修改字符串時出現分段錯誤
- 15. 嘗試讀取localStorage時登錄錯誤
- 16. 的OrderedDictionary是隻讀的,不能修改
- 17. 錯誤嘗試
- 18. 必須是可修改的值錯誤?
- 19. 修改後的左值錯誤
- 20. Radibuttons正在修改錯誤的值tkinter
- 21. 改變的ObservableCollection值拋出只讀錯誤
- 22. 只讀修改後的數據
- 23. 修改類中的只讀成員
- 24. 如何修改只讀Linq的財產
- 25. Perl對只讀變量的修改
- 26. 嘗試makefile中的錯誤?
- 27. Hibernate的錯誤嘗試
- 28. 錯誤嘗試的活動
- 29. 錯誤嘗試更改字體android studio
- 30. 嘗試通過的.htaccess修改php.ini中值 - webrivers
當您打印到文件句柄時,爲什麼要從'print'更改爲'printf'? (另外,爲什麼你仍然使用全局'FILEHANDLE's而不是詞法作用域變量?) – 2011-05-09 11:19:47
Chris說:D 從文檔:「__列表的第一個參數將被解釋爲printf格式[..] Don在簡單的打印過程中不會陷入使用printf的陷阱,打印效率更高,錯誤更少_「 – 2011-05-09 11:28:28
很酷。謝謝。我以爲我不得不使用printf打印到FILEHANDLE。謝謝。 – jebediah 2011-05-11 04:41:23