ren10 の回答履歴

全25件中1~20件表示
  • ファイルの一部を別のファイルの指定箇所にかき込みたい

    Perl初心者です アルファイルの一部を別のファイルの指定箇所にかき込みたいのですが、どのようにすればいいのか分かりません。 ファイルAにはデータが1行に1つ入っています。それをファイルBの指定した場所にかき込みたいです。 ファイルBはテキストファイルで 1:3年AaaaA組 2:今週の担当はAbbbA 3:月曜日の1限目はApppA 4:担当の先生はAqqqA 5:持ってくるものはArrrA 6:月曜日の2限目はAsssA 7:担当の先生はAtttA 8:持ってくるものはAuuuA という具合です。 以下同様のものが数組繰り返します。 AファイルにはA***Aの部分にかき込みたい情報が1行づつのデータになっています。 いろいろ探してみて、見よう見まねで ************* #test.pl open(A, "<A.txt"); while (<A>) { @lines = <>; } open(B, ">B.txt"); while (<B>) { s/AaaaA/$lines[1]/g; s/AbbbA/$lines[2]/g; print B; } close(B); close(A); #end ********** こんなものをつくってみましたが、さっぱりダメでした。 WIN MEで ********* jperl test.pl > test.txt ********* こんなバッチファイルを作成して実行しています。 どなたかお力をお貸し願えるとありがたいです。 よろしくお願いします。

    • ベストアンサー
    • fanvankai
    • Perl
    • 回答数5
  • 変数の受け渡し

    アップローダのスクリプトにダウンロードパスをつけようと日々頑張っているのですが、なかなかうまく出来ません。 例.No1をダウンロードしたい場合 一覧ページからNo.1の記事を選択       ↓ No.1をダウンロードするためのパス入力画面       ↓ No.1ダウンロードページ 上記のようにしたいのですが、 記事表示CGIからパスワードCGIへ変数を渡そうとしていますがなかなかうまくいきません。 ***記事表示CGIのパスワード入力画面*** <form action="パスワードCGIのパス" method="POST"> <input type=hidden name=No value="$no"> <input type=password name=pass size=10> <input type=submit value="認証"> ***パスワードCGIでの条件分岐*** if ($in{'pass'} ne $loginpass) { print "認証画面に戻って再度パスワードを入力して下さい\n"; } print "Location: 記事表示CGIのダウンロードページ&kno=$no\n\n"; exit; としているのですが、変数$noをパスワードCGIの方で取得できません。 CGIは最近弄り始めたばかりなのでぜんぜん分からなくて…。 そもそも <input type=hidden name=No value="$no"> でパスワードCGIの方に$noが送られているのでしょうか? 送られているのでしたら$noの取得方法を教えていただけないでしょうか。 よろしくお願いします。 P.S.拙い文章の為、分かりにくいところなどがありましたら質問してください。 分かる限りはお答えしたいと思います。

    • ベストアンサー
    • janne-like
    • CGI
    • 回答数3
  • 変数の受け渡し

    アップローダのスクリプトにダウンロードパスをつけようと日々頑張っているのですが、なかなかうまく出来ません。 例.No1をダウンロードしたい場合 一覧ページからNo.1の記事を選択       ↓ No.1をダウンロードするためのパス入力画面       ↓ No.1ダウンロードページ 上記のようにしたいのですが、 記事表示CGIからパスワードCGIへ変数を渡そうとしていますがなかなかうまくいきません。 ***記事表示CGIのパスワード入力画面*** <form action="パスワードCGIのパス" method="POST"> <input type=hidden name=No value="$no"> <input type=password name=pass size=10> <input type=submit value="認証"> ***パスワードCGIでの条件分岐*** if ($in{'pass'} ne $loginpass) { print "認証画面に戻って再度パスワードを入力して下さい\n"; } print "Location: 記事表示CGIのダウンロードページ&kno=$no\n\n"; exit; としているのですが、変数$noをパスワードCGIの方で取得できません。 CGIは最近弄り始めたばかりなのでぜんぜん分からなくて…。 そもそも <input type=hidden name=No value="$no"> でパスワードCGIの方に$noが送られているのでしょうか? 送られているのでしたら$noの取得方法を教えていただけないでしょうか。 よろしくお願いします。 P.S.拙い文章の為、分かりにくいところなどがありましたら質問してください。 分かる限りはお答えしたいと思います。

    • ベストアンサー
    • janne-like
    • CGI
    • 回答数3
  • シュワルツ変換の不具合

    シュワルツ変換の不具合で困っています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1959574 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1882190 で質問したものです。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; &hoge; sub hoge{ open(o,"hoge.txt"); @all = <o>; close(o); for (@all){ ($sentence,$filename) = split(/,/,$_); $score++; push @hoge, ($score,$_,"<br>\n"); } @hoge = map {$_->[0]} sort {$b->[1] <=> $a->[1]} map {[$_, split /,/]}@hoge; print @hoge; } というcgiを作成し、実行してみたのですが望んだ処理が出来ません。 hoge.txtは ,123,abc.txt ,456,def.txt ,789,ghi.txt ,123,jkl.txt ,456,mno.txt ,789,pqr.txt という内容です。 cgiを実行すると 6 5 4 3 2 1 ,789,pqr.txt ,456,mno.txt ,123,jkl.txt ,789,ghi.txt ,456,def.txt ,123,abc.txt となってしまいスコアが先頭に集まってしまいます。 シュワルツ変換の行を削除すると 6,789,pqr.txt 5,456,mno.txt 4,123,jkl.txt 3,789,ghi.txt 2,456,def.txt 1,123,abc.txt こうなるのですが、これをシュワルツ変換を用いて 1,123,abc.txt 2,456,def.txt 3,789,ghi.txt 4,123,jkl.txt 5,456,mno.txt 6,789,pqr.txt と出力させたいのです。 どこをどのように変えればよいでしょうか。 宜しくお願いします。

    • ベストアンサー
    • gonntetu
    • Perl
    • 回答数4
  • sendmailについて教えて下さい。

    はじめまして。プログラムは初心者なので、よくわからないので誰かご教授お願いします。 フォームメール設置で、今までサーバーはLinxでsendmailだったのですが、windowsサーバーにも設置しようとおもったところwindowsサーバーはblatjですので、送信してくれません。そこでsendmail用に作られたcgiをblatjで動くようにソースを変えることは可能なのでしょうか?? 説明もへたで申し訳ないですが、親切な方ご教授お願いします。

  • ログファイルへの書き込みがうまくいきません

    ------------------------------------------ open(LOG,"+<$filename") || die "Error!\n"; @logs=<LOG>; flock(LOG,2); unshift(@logs,"$array[0],$array[1],$array[2],$array[3],$array[4]\n"); print LOG @logs; flock(LOG,8); close(LOG); ------------------------------------------ この$array[0]~$array[4]にはそれぞれ、「<option value="1">1</option>」の様な、プルダウンメニューの「1~10」までの数字が入っています。 この数字を$filenameへ書き込みたいのですが、中々うまくいかずに困っています。 ちなみに、一応書き込めるには書き込めるのですが、$filenameを開くと、 ------------------------ 1,1,1,1,1 6,4,1,9,6 1,1,1,1,1 9,1,2,4,4 1,1,1,1,1 3,0,1,9,5 1,1,1,1,1 ------------------------ このような形になってしまいます。何がいけないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • OUHO
    • Perl
    • 回答数1
  • クッキーの読み込みについて教えて下さい。

    こんにちわ、クッキーについて教えて下さい。今クッキーのテストをしたいと思っていますが、セットはされているのですが、読み込みがされません。通常通りhttpdで出てくるのでしょうか、読み込みのテストをする方法をお教え下さい。宜しくお願いします。(構文そのものが間違えていたら済みません)

    • 締切済み
    • windws
    • Perl
    • 回答数1
  • perl-cgi「日時によるファイル操作」について

    perl-cgi「日時によるファイル操作」について perl-cgiで、あるディレクトリ中のファイル更新日が最も若い2ファイルを表示して、それ以外を削除したいのですがどのようにすればよいでしょうか? #調べたいディレクトリを読み込む。 $Dir = "./cache"; opendir DIR,"$Dir"; my @alldir = readdir DIR; close DIR; #ファイル(パス)名と作成日時を求める。 #最新2つのファイルパス(名)を表示する。 print "NewFile".ファイルパス1; print "<HR>"; print "OldFile".ファイルパス2; #最新2つ以外は全て削除 unlink($_); exit(0);

  • 検索結果数の表示(○件ヒット)by CGI rescue

    CGI rescueさんの簡易データベース v2.1を利用しています。 物はこちらです。 http://www.rescue.ne.jp/cgi/database2/ (バージョンが3になっていますが、検索部分は同じのようです。) これで、検索結果が何件ヒットしたのかを表示させたいです。 スクリプト内に「$hit」があったので、そのまま利用しようとすると、"1ページの表示数(またはそれ以下)"を表示してしまいます。 30件ヒットして1ページに20件表示の場合、1ページ目は「20件ヒット」、次ページは「15件ヒット」と表示されてしまいます。 どうにかして全部の検索件数を表示させることは出来ないでしょうか?

  • 検索結果数の表示(○件ヒット)by CGI rescue

    CGI rescueさんの簡易データベース v2.1を利用しています。 物はこちらです。 http://www.rescue.ne.jp/cgi/database2/ (バージョンが3になっていますが、検索部分は同じのようです。) これで、検索結果が何件ヒットしたのかを表示させたいです。 スクリプト内に「$hit」があったので、そのまま利用しようとすると、"1ページの表示数(またはそれ以下)"を表示してしまいます。 30件ヒットして1ページに20件表示の場合、1ページ目は「20件ヒット」、次ページは「15件ヒット」と表示されてしまいます。 どうにかして全部の検索件数を表示させることは出来ないでしょうか?

  • perl-cgi 文章のマッチングについて

    辞書テキストで作ってそれを、任意の文章にマッチングさせ、変換したいのですが、どのようにすると、(プロバイダの)サーバに負担の少ないCGIになりますか? やりたいことは、 文章>>eigo(lemonとスシ) を入力すると、 文章>>エイゴ(レモンとスシ) と返されるCGIです。 今考えているのは、下記ですが、perl-cgiを初めて間もないため、色々なHPを参考にして、なんとか、変換まではできたのですが、、サーバに過大な負担をかけているかが心配です。そこで、効率的なものに書き換えていただけますととても助かります。 宜しくお願い致します。 ----etoj.cgi---- #!/usr/bin/perl print "Content-type: text/html;charset=utf-8\n\n"; $str = '文章>>eigo(lemonとスシ)'; open in,"dic.txt"; @array = <in>; close in; $n = 0; foreach(@array){ $_ =~ s/\n//g; $_ =~ s/\r//g; @temp = split(/\t/,$_); $eng[$n] = $temp[0]; $jpn[$n] = $temp[1]; undef @temp; $n++; } print $str; $i=0; foreach(@eng){ $str =~ s/$_/$jpn[$i]/g; $i++; } print "<HR>"; print $str; exit; ---------------- --dic.txt-- lemon¥tレモン eigo¥tエイゴ susi¥tスシ 以下、500KB程度続きます。 -----------

  • perl-cgi 文章のマッチングについて

    辞書テキストで作ってそれを、任意の文章にマッチングさせ、変換したいのですが、どのようにすると、(プロバイダの)サーバに負担の少ないCGIになりますか? やりたいことは、 文章>>eigo(lemonとスシ) を入力すると、 文章>>エイゴ(レモンとスシ) と返されるCGIです。 今考えているのは、下記ですが、perl-cgiを初めて間もないため、色々なHPを参考にして、なんとか、変換まではできたのですが、、サーバに過大な負担をかけているかが心配です。そこで、効率的なものに書き換えていただけますととても助かります。 宜しくお願い致します。 ----etoj.cgi---- #!/usr/bin/perl print "Content-type: text/html;charset=utf-8\n\n"; $str = '文章>>eigo(lemonとスシ)'; open in,"dic.txt"; @array = <in>; close in; $n = 0; foreach(@array){ $_ =~ s/\n//g; $_ =~ s/\r//g; @temp = split(/\t/,$_); $eng[$n] = $temp[0]; $jpn[$n] = $temp[1]; undef @temp; $n++; } print $str; $i=0; foreach(@eng){ $str =~ s/$_/$jpn[$i]/g; $i++; } print "<HR>"; print $str; exit; ---------------- --dic.txt-- lemon¥tレモン eigo¥tエイゴ susi¥tスシ 以下、500KB程度続きます。 -----------

  • perl-cgi 文字の長さでソートしたい

    文字の長さでソートしたいと思っているのですがどのようにすればよいでしょうか? @word = qw(abc abcd abcdef abc a); とある場合、 @word = qw(a abc abc abcd abcdef); という風に並べ替えたいと思っています。 分かる方、教えて下さい。宜しくお願い致します。

  • 検索結果数の表示(○件ヒット)by CGI rescue

    CGI rescueさんの簡易データベース v2.1を利用しています。 物はこちらです。 http://www.rescue.ne.jp/cgi/database2/ (バージョンが3になっていますが、検索部分は同じのようです。) これで、検索結果が何件ヒットしたのかを表示させたいです。 スクリプト内に「$hit」があったので、そのまま利用しようとすると、"1ページの表示数(またはそれ以下)"を表示してしまいます。 30件ヒットして1ページに20件表示の場合、1ページ目は「20件ヒット」、次ページは「15件ヒット」と表示されてしまいます。 どうにかして全部の検索件数を表示させることは出来ないでしょうか?

  • CGI設置

    CGI超初心者です。宜しくお願い致します。 最近、独自ドメインを取得しました。どこの有料サーバーにしようか検討中です。(現在使用しているプロバイダはCGI不可なので有料サーバーに変更予定) Kentさんのところで掲示板(CGI)をダウンロード→解凍→プログラム修正まで終わりました。 まだサーバーと契約していないのですが、プログラム修正した掲示板がどんな感じか確認したいのですが、どうすれば良いでしょうか?(つまり、HTMLをメモ帳にタグ直書きしたものをIEで確認しながらホームページを作っていくように、掲示板の出来栄えを確認しながらCGIのプログラムを修正したいのです。) CGIを許可しているサーバーに繋がっていない限り、上記のようなことは無理なことなのでしょうか? http://www.kent-web.com/index.html

    • ベストアンサー
    • hirb
    • CGI
    • 回答数3
  • mail送信CGIの返信後のページの文字化け

     フォームからメールを送信するCGIで 送信したあとの、お知らせページが文字化けしてしまいます。どう書いたらいいでしょうか?教えてください。 こんな感じのソースです。。 $header = <<END_OF_DATA; <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <title>メール送信結果</title> </head> <body> <h1>メール送信結果</h1> <hr> <p>御意見、御予約ありがとうございました。</p> <hr> END_OF_DATA  「御意見、御予約ありがとうございました。」というところの、ご予約が文字化けしてしまいます。どのように書いたらいいでしょうか?  ちなみに私はCGI初心者で、これは指示通りに設定しただけなので、分かりやすく教えていただけると嬉しいです。 お願いします<m(__)m>

    • ベストアンサー
    • others
    • CGI
    • 回答数2
  • if文における複数条件の簡略化

    はじめまして。 Perlを勉強中の者です。 if文中における複数の条件に関する質問があるのでお願いいたします。 if文中における条件が複数ある場合に条件を簡素化することは可能でしょうか。 下記がただ今作成しているプログラムの一部なのですが、2つ目のif文中には10通りの条件があります。同一のプログラム内に同じ条件をもつif文が他数箇所あるので何か良い解決方法を探しております。 サブルーチンも考えたのですが、どのようにif文の条件として用いてよいのかわからないため、ご教授お願いいたします。 if ($code eq $codetwo){ if ((($code eq 'i')&&($F1mean<900)&&(1600<$F2mean)&&($F2mean<3100))| (($code eq 'y')&&($F1mean<900)&&(1400<$F2mean)&&($F2mean<2800))| (($code eq 'e')&&($F1mean<900)&&(1400<$F2mean)&&($F2mean<3000))| (($code eq 'E')&&($F1mean<1100)&&(1400<$F2mean)&&($F2mean<2700))| (($code eq 'a')&&($F1mean<1100)&&(900<$F2mean)&&($F2mean<2300))| (($code eq 'x')&&($F1mean<1100)&&(800<$F2mean)&&($F2mean<2400))| (($code eq 'X')&&($F1mean<1000)&&(700<$F2mean)&&($F2mean<2300))| (($code eq 'c')&&($F1mean<1000)&&(600<$F2mean)&&($F2mean<2000))| (($code eq 'o')&&($F1mean<1000)&&(600<$F2mean)&&($F2mean<1600))| (($code eq 'u')&&($F1mean<1000)&&(400<$F2mean)&&($F2mean<1500))){ printf F0123VF "%5.3f %5.3f %s %s %s %s %6.2f (%3.2f) %6.2f (%3.2f) %6.2f (%3.2f) %6.2f (%3.2f) ", $timeBeg, $time, $code, $word, $phctxt, $fileID, $F0mean, $F0ratio, $F1mean, $F1ratio, $F2mean, $F2ratio, $F3mean, $F3ratio; } }

    • ベストアンサー
    • cinemafan
    • Perl
    • 回答数2
  • XPでシステム移行

    XPでシステムを新しいHDDに移行するには 専用ツールを使うしかないんですか? これはどうしてなんですか? 簡単にシステムを移行する方法はないんですか? 9X系では単にコピーするだけで良かったんですか?

  • perlを使って英文だけを取り出したい。

    下記($str1)のように、英文が混じっています。 その中から、英語だけの文字を取り出すことは、できないでしょうか? もし、簡単なサブルーチンなどご存知でしたら教えてください。 宜しくお願い致します。 $str1 = "さま z a マ な mo じ が ハイ っ ています。"; $str2 = &omit($str1); sub omit{ } print "$str2"; 結果出力 --------- z a mo

  • ディレクトリ名を取得したい

    perlでディレクトリ名だけを取得したいのですが、 なかなかうまい方法が見つかりません。 ファイル名を取得する・・・というのは結構あるのですが、 ディレクトリ名だけ、というのがどうもわかりません。 ちなみにファイル名取得は以下のようにやっています。 my $md; opendir(DIR, 'q'); while (defined($dir = readdir(DIR))) { $md=substr($dir,0,6); } closedir(DIR); ディレクトリ名だけを取得・・・というのはどうやればよいのでしょうか。

    • ベストアンサー
    • azicyan
    • Perl
    • 回答数5