プロが教える店舗&オフィスのセキュリティ対策術

Perlにてファイルの一括読み込みを以下記述で実施しております。
実行環境はAIXです。

-------------------------------
#!/usr/bin/perl
open(FH,"/tmp/filename1.txt");
@aaa=<FH>;
close(FH);
print "@aaa\n";
-------------------------------

上記内容をWindows XPにて実行した場合、何も表示されません。
print文が動いていないのか、ファイルの読み込みができていないのか不明です。
ファイルのパスは以下のように変更しております。

-------------------------------
open(FH,"C:\filename1.txt");
@aaa=<FH>;
close(FH);
print "@aaa\n";
-------------------------------

Windowsにて動作するようにはどのようにすれば宜しいのでしょうか?
初歩的な質問かもしれませんが、宜しくお願い致します。

A 回答 (2件)

Perl初心者です。


WindowsとUNIXで同じPerlを動作させる時にファイルパスの区切り文字に苦労した経験があります。
\は特殊文字なので\\にしないと駄目じゃないかと思いますがどうでしょうか?
open(FH,"C:\\filename1.txt");

見当違いな回答なら笑ってスルーして下さい。
    • good
    • 0
この回答へのお礼

早速の回答有難うございます。
ご指摘して頂いた通りでした。
「””」で囲っているから、文字列になっていると理解しており、
特殊文字なんてことをまったく疑っておりませんでした。

大変、有難うございました。

お礼日時:2010/12/15 11:32

open ができているかどうかなら open の返り値を見ればいい, というか見て open できているかどうか必ず確認しろ.


あと, ディレクトリの区切りに使う文字列はシステムによって違うのだが, 区別するのが面倒なら / を使っておけばだいたい OK.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!