ファイルを読み込み配列に入れるには・・
[上に]
[前に]
[次に]
りいこ@
1999/11/26(金) 01:59:12
非常に初歩的な質問で申し訳ありません。
ディレクトリ A B C があったとします。
A、B、C の中には、それぞれdata.datといファイルがあり
そのファイルdata.datを一行読み込み同じ配列に
入れるには、どのようにしたら良いでしょうか。
ご教授の程、よろしくお願いします。
ふじ
1999/11/26(金) 02:33:51
#とりあえず、言語が Perl5 だとして。
foreach $dir('a', 'b', 'c'){
open IN, "< $dir/data.dat" or die "can't open $dir/data.dat $!";
$data = <IN>;
push @data, $data;
close IN;
}
こんなので。
data.dat の先頭の一行を読み込んで配列 @data に入れます。
やりたいことはこれで良いのでしょうか?
# 外してたら、もうちょっと具体的にやりたいことを
# 書いてもらえると、答えやすいです。
りいこ@
1999/11/26(金) 07:23:00
ふじさんありがとう御座いました。
おかげ様で思って居た事が出来ました。
応用としてa,b,c,d,e,f,g 程度ならば 'd','e,','f'を
付け足せば良いと解るのですが
a〜z や アルファベットではなく数字で1〜50 や 1〜100等
の場合は、やはり
'1','2','3',・・・・・ '50' という具合に
書かなければいけないのでしょうか?
匿名不希望
1999/11/26(金) 07:39:14
> '1','2','3',・・・・・ '50' という具合に
ならば、
> foreach $dir('a', 'b', 'c'){
の行を
for ($dir=1; $dir<=50; $dir++) {
で良いかと。
foreach $dir(1..50){
は出来ないんでしたっけ?
Aurai
[E-Mail]
1999/11/26(金) 07:55:31
やりかたいろいろ
foreach $_ ('a'..'z') {
print;
print "\n";
}
foreach $_ (1..50) {
print;
print "\n";
}
foreach $_ ('00'..'99') {
print;
print "\n";
}
りいこ@
1999/11/26(金) 19:54:43
匿名不希望さん、Auraiさんありがとう御座いました。
最初に行いたかった動作は、おかげ様で出来るようになりました。
そして、他の投稿を見ていて付け足したい動作があったので
すが
foreach $_ ('a'..'z') {
open IN, "< $dir/data.dat" or die "can't open $dir/data.dat $!";
$data = <IN>;
push @data, $data;
close IN;
}
これに各ファイルの最終更新日を付けるには
どうのようにすれば良いでしょうか
何度も何度も申し訳ありませんが、ご教授の程お願いします。
時刻を入れて $mtime を push 等で付け足せば良いのでは?
あたりまでは解るのですが・・
P初心者
1999/12/01(水) 10:19:02
以下で、いけませんか〜
実際やっていませんが...。
foreach $_ ('a'..'z') {
open IN, "< $dir/data.dat" or die "can't open $dir/data.dat $!";
$data = <IN>;
push @data, $data;
############################### ADD
@stat = stat IN;
push @data, localtime($stat[9]);
############################### END
close IN;
}
[上に]
[前に]
[次に]