我需要從$!中的sub中返回錯誤文本。但簡單
$! = "Error: Something is wrong!";
不起作用,它不會改變$ !.我該怎麼做?
我需要從$!中的sub中返回錯誤文本。但簡單
$! = "Error: Something is wrong!";
不起作用,它不會改變$ !.我該怎麼做?
$!
反映了C庫var errno
(一個數字)及其表示的錯誤消息(如使用strerror
或類似方法獲得的)。
您不能更改字符串,因爲這是生成的值,但可以更改數字。
$ perl -E'say $!=$_ for 1..10'
Operation not permitted
No such file or directory
No such process
Interrupted system call
Input/output error
No such device or address
Argument list too long
Exec format error
Bad file descriptor
No child processes
你的代碼是不是要設置errno
,所以應該利用自身的變量,而不是與$!
搞亂(或拋出使用die
的除外)。
'$!'包含出錯的地方... – squiguy 2013-05-11 03:47:10
好吧 $!=「這是錯的」; – michaeluskov 2013-05-11 03:48:17
你應該考慮「$!」爲只讀。這是相當於道德的道德:http://linux.die.net/man/3/perror – paulsm4 2013-05-11 03:50:28