■Windows版Perlの細道・けもの道

■ナビゲータ

[南北館(最初のメニュー)]

  1. [Windows版Perlの細道・けもの道]
    1. [1.準備編]
    2. [2.基本編]
      1. [2-1.基本処理]
        1. [2-1-1.スクリプトの基本形]
        2. [2-1-2.必要な項目だけを出力する]
        3. [2-1-3.条件をつけて出力する]
        4. [2-1-4.スクリプトと入出力ファイルを異なるフォルダに入れる]
        5. [2-1-5.PPM(Perl Package Manager)によるモジュールのインストール]
      2. [2-2.キーブレイク処理]
      3. [2-3.マッチング(照合)処理]
      4. [2-4.ソート(並べ替え)処理]
      5. [2-5.パターンマッチ処理]
    3. [3.応用編]
    4. [スクリプトと入力データのサンプル]
rubyではどう処理する?
同じことをrubyではこうしています。

2.基本編

2-1.基本処理

2-1-4.スクリプトと入出力ファイルを異なるフォルダに入れる

一般的にはPerlのスクリプトと入出力ファイルは同じフォルダに置きますが、異なるフォルダに入れる場合もあります。その場合、以下のような指定になります。なお、サブフォルダは「\」で区切るのではなく、「/」で区切ります。

(1)スクリプトを含むフォルダと同じレベルの階層に入出力データがある場合(下図のような場合)

「open(IN1,"../input01.txt");」

などとします。「/」の前にピリオドが2つついていますが、これはスクリプトから見たときに、入出力ファイルが共通するフォルダにさかのぼるには、フォルダを2つさかのぼることを意味します。下記の例の場合、「inout.pl」から見たときに、「script_folder」と「AAA_folder」という2段階のフォルダをさかのぼっているので、ピリオドを2つ付けています。

【AAA_folder】-----【script_folder】--inout.pl
                |
                |-- input01.txt
   

(2)スクリプトを含むフォルダと同じレベルの階層にあるフォルダの下に入出力データがある場合(下図のような場合)

open(IN1,"./input_folder/input01.txt");

open(OUT1,">./output_folder/output01.txt");

などとします。「/」の前にピリオドが1つついていますが、これはスクリプトから見たときに、入出力ファイルが共通するフォルダにさかのぼるには、フォルダを1つさかのぼることを意味します。下記の例の場合、「inout2.pl」から見たときに、「AAA_folder」というフォルダにさかのぼっているので、ピリオドを1つ付けています。

または、

open(OUT1,">../AAA_folder/output_folder/output01.txt");

などとと指定することもできます

【AAA_folder】-----【input_folder】---input01.txt
                |
                |--【output_folder】--output01.txt
                |
                |-- inout2.pl
   

(3)スクリプトや入出力データがそれぞれ同じ階層にあるフォルダの下にある場合(下図のような場合)

open(IN1,"../input_folder/input01.txt");

open(OUT1,">../output_folder/output01.txt");

などとします。「/」の前にピリオドが2つついていますが、これはスクリプトから見たときに、入出力ファイルが共通するフォルダにさかのぼるには、フォルダを2つさかのぼることを意味します。下記の例の場合、「inout3.pl」から見たときに、「script_folder」と「AAA_folder」という2段階のフォルダをさかのぼっているので、ピリオドを2つ付けています。

【AAA_folder】-----【script_folder】--inout3.pl
                |
                |--【input_folder】---input01.txt
                |
                |--【output_folder】--output01.txt
   

(4)フルパスで指定する場合

上記はすべて相対的なパスで指定する方法ですが、フルパスで指定する方法もあります。その場合、ドライブを表す「c」や「d」の後にコロンを付けて、「\」ではなく、「/」でサブフォルダを指定していきます。

open(IN1,"c:/input_folder/input01.txt");

open(OUT1,">c:/output_folder/output01.txt");

Copyright (c) 2004-2013 Mitsuo Minagawa, All rights reserved.