pass.cgiには100行までのデータが保存されています。pass.cgiに書き込まれている30行までのデータをdata.txtにコピーしたい場合はどのように書けばいいのでしょうか。初めて最初から自作CGI作りに挑戦して、皆さんのお力をおかりし作りたいCGIは完成しました。そしてこの機能が追加されれば更に便利になるためWEBで検索しましたが、わかりませんでした。よろしくお願いいたします。
$pass = 'pass.cgi';
if(open(DATA, ">>data.txt")){
print DATA "";
close(DATA);
}
No.2ベストアンサー
- 回答日時:
$を忘れていましたか(^^;
訂正ありがとうございます。
追加の件ですが、foreachのところだけ書きますね。
1つ目と4つ目の間のデータの区切りを
仮に半角スペース1つとして、
毎行の最後に改行コードを入れてみました。
-------------
foreach( @f_data ){
#30行超えたら処理を抜ける
if( $i > 30 ){
last;
}
#一行の内容を<>で分割して、先頭4つを変数に取る
( $f_data1, $f_data2, $f_data3, $f_data4 ) = split( /<>/ );
#1つ目と4つ目を書き出す
print "$f_data1 $f_data4\n";
$i++;
}
No.1
- 回答日時:
今ちゃらっと書いただけで実行していませんので
エラーになったらごめんなさい。
open( IN, "pass.cgi" );
@f_data = <IN>;
close( IN );
i = 1
#書き出し先ファイルをオープン
open( OUT, ">>data.txt" );
select OUT;
foreach( @f_data ){
#30行超えたら処理を抜ける
if( i > 30 ){
last;
}
print;
i++;
}
#書き出し先ファイルを閉じる
select STDOUT;
close( OUT );
この回答への補足
申し訳ございません、再度確認しましたところ、30行まで記録されておりました。以下お礼へ書かせていただきました追加要望を引き続きよろしくお願いいたします。
補足日時:2006/11/21 23:46open( IN, "ranking1.cgi" );
@f_data = <IN>;
close( IN );
$i = 1;
#書き出し先ファイルをオープン
open( OUT, ">>data.txt" );
select OUT;
foreach( @f_data ){
#30行超えたら処理を抜ける
if( $i > 30 ){
last;
}
print;
$i++;
}
#書き出し先ファイルを閉じる
select STDOUT;
close( OUT );
ご回答有難うございます。上記のように書き換えたところエラーが表示されなくなりました。7行までのデータがdata.txtに記録されております。ログデータは以下の通りです。
100<><><>Named<>aaa<><> <>1163979601<><>127.0.0.1<>
95<><><>Name<>aaa<><> <>1163973570<><>127.0.0.1<>
95<><><>Namef<>aaa<><> <>1164141553<><>127.0.0.1<>
43<><><>Namec<>aaa<><> <>1163979531<><>127.0.0.1<>
19<><><>Nameb<>aaa<><> <>1163970514<><>127.0.0.1<>
15<><><>Namea<>aaa<><> <>1163962024<><>127.0.0.1<>
5<><><>Namee<>aaa<><> <>1163980638<><>127.0.0.1<>
↑再度のお願いで申し訳ないのですが、pass.cgiのログデータ上位30行を抜き出すさいに、更に一番左にある数字と名前の部分(ログ1番目と4番目)だけを抜き出して、data.txtに書き出すことはできないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlでcsvファイルを読む(ダブ...
-
BBCode削除&改行をサニタイジ...
-
VBAでCSVファイルを途中行まで...
-
バッチファイルの作り方(CSV→...
-
close()で例外が投げられる理由
-
VBAで巨大なファイルの途中から...
-
DOSコマンドで、標準出力を出力...
-
VBAでCSVファイルの特定行を書...
-
FindFirstFileとFindNextFileで...
-
ExcelをCSV書き出す場合のシー...
-
perlで指定範囲を複数ファイル...
-
VB6.0でDB接続する際に切断時の...
-
sprintfについて
-
python renameについて
-
アルゴリズム java お店の営業...
-
batファイルでrenameができませ...
-
Perl UTF8で出力
-
sysread と read はバイナリ読...
-
Windowsで複数のファイルを同じ...
-
tar.gzの圧縮解凍について教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlで特定行から特定行までを...
-
perlでcsvファイルを読む(ダブ...
-
Argument "\\\\n" isn't numeri...
-
文字化け対策
-
Perlの初心者です。2重ループ...
-
コマンド上の行間
-
MATLAB std::exceptionエラー
-
Perlを利用してテキストフ...
-
cgiのログの書き方
-
ディレクトリ内のtxtファイル中...
-
FTP接続時失敗時、接続先名をcs...
-
郵便番号辞書のアップデート手...
-
foreachの制御
-
ファイルの3行目までを出力したい
-
CGIでのgrep関数においての質問
-
テキストファイルへ行指定での...
-
VBAでCSVファイルを途中行まで...
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
batファイルでrenameができませ...
おすすめ情報