サンプル集 |
■VC ■C# ■Java ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
ファイルへの書き込み時にエラーが出た場合どうなるか試してみます。
◆環境OS | CentOS Linux version 2.6.18-308.13.1.el5 |
---|---|
perl | v5.8.8 built for i386-linux-thread-multi |
作成するファイルを存在しないパス/hoge/に作るようにします。
file-write2.pl | ||
|
実行してみます。
# perl file-write2.pl
#
#
なんの反応も無く終わりました。 フォルダの状況を見てみます。
# ls -l
合計 8
-rw-r--r-- 1 root root 107 9月 27 2012 file-write2.pl
合計 8
-rw-r--r-- 1 root root 107 9月 27 2012 file-write2.pl
当然ファイルはできていません。 /hogeの状況を確認します。
# ls -l /hoge
ls: /hoge: そのようなファイルやディレクトリはありません
ls: /hoge: そのようなファイルやディレクトリはありません
/hogeというフォルダは無いので、当然エラーがでました。 perl でもエラーを出すべきです。 エラーを出すロジックを追加します。 またプログラムの進み具合がわかるように、要所要所でprintでメッセージを出すようにします。
file-write3.pl | ||
|
実行してみます。
# perl file-write3.pl
start
そのようなファイルやディレクトリはありません at file-write3.pl line 2.
start
そのようなファイルやディレクトリはありません at file-write3.pl line 2.
最初のprintで表示される「start」が出たあとすぐにエラーメッセージが表示され、そこで処理が止まりました。
openの後に追加した「or die($!)」は open の結果が偽(false)であった場合、or 以降を実行するという意味です。
$! には「そのようなファイルやディレクトリはありません」というメッセージが入ります。 「at file-write3.pl line 2.」は die が出しているメッセージです。
エラーを無視して進めると後々やっかいな事になりがちなので注意したいですね。
Copyright (C) 2012 ymlib.com