CGI Perl総合at HACKCGI Perl総合 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト3:none 01/03/16 00:44 あってますか?#!/usr/local/bin/perl $cnt_file = 'cnt.dat'; open(fp,"$cnt_file"); $cnt = <fp>; close(fp); ++$cnt; $len = length $cnt; if ($len < $n) { $imgfile = "0"; } else { $imgfile = substr($cnt, $len-$n, 1); } open(IN,"img/$imgfile.gif"); @lines = <IN>; close(IN); print "Content-type: image/gif\n\n"; print @lines; if ($n == 1) { open(fp,">$cnt_file.tmp"); print fp $cnt; close(fp); rename("$cnt_file.tmp", $cnt_file); } sub frmdec { $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/,$buffer); foreach $pair (@pairs) { local($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $form{$name} = $value; } } 4:obj 01/03/16 00:46 データファイルを読み込んで@LINESという配列に入れたとします。 配列の中身は '23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9' だったとして、$xxという変数にa~dのいずれかの文字が入ります。 例えば$xxにcが入ったらcという要素を含む3要素目の'14<>c<>3' の3を1増減、4にして '23<>a<>0','26<>b<>5','14<>c<>4','30<>d<>9' になった配列をデータファイルに上書き保存したいのですが どのように組めばよいのでしょうか? open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。'); @LINES = <IN>; close (IN); $i = "0"; foreach (@LINES){ ($t1,$t2,$t3)=split(/<>/,$_); if ($xx =~ /\Q$t2/) { last; } $i++; } $t3++; $all = $t1; $all .= '<>'; $all .= $t2; $all .= '<>'; $all .= $t3; $all .= '\n'; $LINES[$i] = $all; open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。'); print OUT (@LINES); close (OUT); こんな感じで組んだんですが、全然ダメで。。。 どなたか教えてください。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch