$! の 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特別なエラーを伝える必要がある場合は、(または何でも)を使用します。