$! の 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
2 つのオプション。
まず、Errno::AnyString。
第二に、それをしないでください。 $!
は特別で、errnoを示す必要があります。$YourModule::Error
特別なエラーを伝える必要がある場合は、(または何でも)を使用します。