ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ
| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

  HOME >> アルファベットで関数を検索 >> open
open [ファイルをオープンし、ファイルハンドルに結びつける]
[関数の使い方・書式]

open [,]
:ファイルハンドル。
  ・・・ 原則すべて大文字。ファイルハンドル名を返す式でもよい。
:式。
  ・・・ 処理モードとファイル名またはプログラム名の組み合わせ。
:成功時は真(UNIXの場合、パイプを使用した場合は子プロセスのプロセスID)、
失敗時は偽(未定義値)を返す。


[関数の機能]
で指定したファイルをオープンし、ファイルハンドルに結び付けます。
open は失敗してもエラーにはなりません。そのため、必ず戻り値を判定するようにしなければなりません。


[書式の例]
1.open FH, "$filename";   # 入力用
2.open FH, "<$filename";   # 入力用
3.open FH, "+<$filename";   # 入出力共用
4.open FH, "+>$filename";   # 入出力共用(上書きモード)
5.open FH, ">$filename";   # 出力用(上書きモード)
6.open FH, ">>$filename";   # 出力用(追加モード)
7.open FH, "-";   # STDIN のオープン
8.open FH, ">-";   # STDOUT のオープン
9.open FH, "|$program";   # $program の出力をパイプに書き出し、program に渡す。
10.open FH, "$program |";   # program の出力をパイプ経由で読みこむ
11.open FH, ">&STDOUT";   # STDOUT を SAVEOUT に複製
12.open FH, ">&STDERR";   # STDERR を SAVEERR に複製
13.open FH, "<&=$fd";   # ファイル記述子 $fd のエイリアス化
14.open FH, file;   # $file の値をファイル名として入力用にオープン

サンプルソース
● テキストファイルを簡易コピーする

open IN, "input" or die "open IN 失敗: $!";
open OUT, "output" or die "open OUT 失敗: $!";
while( $input =  ) {
	print OUT $input;
}


● メール送信する

$address = "hoge\@hoge.ne.jp";
$mail = '/usr/sbin/sendmail';
open MAIL, "| nkf | $mail -t $address" or die "メール送信処理失敗\n";
print MAIL "Subject: Thank you for your visit\n\n";
print MSIL "本文です。\n\n";
close MAIL;



| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.