リサーチ115 > Perl
多数のネットショップからPerl関連の商品を探して一覧表示しています。
ヤフー知恵袋から「Perl」に関する疑問・質問・口コミ情報をピックアップ。プチ情報があるかも!?
質問
ドリームウィーバーでメールフォーム作成後のCGIプログラムの使い方フォームだけ作成して、それを作動する(送受信する)ためにCGIプログラムという新たな物を使用しなければならないと知りました。これってプロバイダやサーバー管理者の人に聞けば教えてくれますか?CGIでメールフォームさえ使えたらそれで十分なのですが、、、そもそもCGIは別ソフトで、XHTMLやCSS等のようにプログラミングしていくってことですか?他の方の質問・回答を読みましたが、どこでperlを記述するのかとか出来たCGIファイルはどこに配置してアップロードすれば作動してくれるのかいまいち把握できないといった感じです…。難しいですが 素人に分かるように説明をお願いします(・_;)
ベストアンサー
>これってプロバイダやサーバー管理者の人に聞けば教えてくれますか?そのサーバでCGIが使えるかどうかとか、(使えるとして)Perlのpathはどう記述したらいいか・・・くらいは教えてもらえます(というか案内のページに記載があるハズです)。基本的に具体的なCGIプログラム(Perlやphpのスクリプト)は自分で書かないといけません。フリーで配布されているものもありますのでそれを使ってもいいですが、その選択や設置は全部自分でやります。また既存のスクリプトだと、今作っているフォームとの整合の問題がある可能性が高いです(その場合、フォームは作り直しになります)。
質問
perlを使って、ファイル内の単語を一つずつサブルーチンで処理して、処理した結果を返すプログラミングを教えてください。はじめまして、perl歴3ヶ月のものです。perlを使って、ファイル内の動詞を一つずつサブルーチン内で処理(動詞が"e"で終わっていたなら、動詞の末尾に"d"を追加して、それ以外の動詞なら、動詞の末尾に"ed"を追加する)処理した結果を返すプログラミングを考えていましたが。3日間考えても答えが出なくて非常に困っております。私の作ったプログラミングは-fukisoku.txt-standhavedo-------------------------------------------------------------------------use strict;open(FILE,"fukisoku.txt"); #ファイル"fukisoku.txt"を開くmy $verb = <FILE>;my $word;$verb = &ded($verb); #サブルーチン呼び出しprint "$verb";#サブルーチンの定義sub ded{ my($verb) = @_; #引数をリストに入れる if($verb =~ /e$/){ #動詞の末尾がeならば $word = "d"; #$wordにdを代入する }else{ $word = "ed"; #$wordにedを代入する } substr($word,0,0)="$verb"; #動詞の末尾に$wordを追加する return($verb);}-------------------------------------------------------------------------------------というものですが、結果は一番最初の動詞の原型しか表示しませんでした。私はstandedhaveddoedという結果が出るのを望んでいます。申し訳ございませんが、どうプログラミングすればよいか教えてくれませんか。お願いします。
ベストアンサー
とりあえず。use strict;open(FILE,"fukisoku.txt"); #ファイル"fukisoku.txt"を開くwhile(<FILE>){ #一行ずつ処理 my($verb) = $_; chomp $verb; #改行文字を削除する $verb = &ded($verb); #サブルーチン呼び出し print "$verb\¥n";}#サブルーチンの定義sub ded{ my($word); my($verb) = @_; #引数をリストに入れる if($verb =~ /e$/){ #動詞の末尾がeならば $word = "d"; #$wordにdを代入する }else{ $word = "ed"; #$wordにedを代入する } $verb .= $word; #動詞の末尾に$wordを追加する return($verb);}短縮版use strict;open FILE,"fukisoku.txt"; #ファイル"fukisoku.txt"を開くwhile(<FILE>){ chomp; #改行文字を削除する print ded($_),"\¥n"; #サブルーチン呼び出し}#サブルーチンの定義sub ded{ shift; #引数を取り出す return /e$/ ? $_."d" : $_."ed"; #最後がeならd、違うならedを付加する}
質問
Perlで、インスタンス->メソッドインスタス->プロパティと書くときの「->」の名前はなんですか?C系だとインスタンス.メソッド()のように「.」で書かれるやつです。
ベストアンサー
アロー演算子。# C/C++でもアロー演算子はあるはずだけどね。
質問
C言語でbot作りをしたいと思っています。もなちゃとのbotをC言語で作りたいのですがプログラムを組んでも、どうやってもなちゃとで実行するかわかりません。perlとかまったく無理なのでCでのやり方を教えてください。
ベストアンサー
貴方がユーザーなのであれば、Webサイト側で直接実行する事はできません(できたら大問題に発展すると思います…ローカル(自分のPC)で実行しておいて、書き込み確認→返信といった作業をするぐらいのプログラムは組めると思いますが、その程度の作業であれば、perlとか他のスクリプト言語の方がよっぽど簡単にできると思いますもし、どうしてもC言語で実装するのであれば、① socketを使ってTCP/IP通信をできるようにする② HTTPプロトコルを実装する(クライアントとしての最低限の実装のみでOK、GETとPOSTぐらいかな ※Cookieを必要とする場合は、セッション情報も解析、保存できるようにしておく③ HTML(XML)のパーサおよび内容の解析④ botエンジン(上記で得たデータから送信すべき情報の作成)といった実装が必要になり、他のライブラリなどを使わないのであればそれなりの時間と努力が必要になるのではないでしょうか※簡単には返答できないぐらいの量という事ですもし、貴方が該当サイトやサーバーの管理者で、実行権限をお持ちであれば、C言語などで作成したバイナリを直接実行することは可能ですその場合はサーバーのOSやサイトの組み方によって色々な方法が取れると思いますが、質問内容的に権限をお持ちじゃないと推測しますので省略します…
質問
Perlスクリプトを書いた.plファイルを毎日決まった時間に動かしたいんですが、Windowsのタスクメニューに.plを直接指定する以外に何か皆さんが考える良い方法はありますか?
ベストアンサー
タスクメニューじゃなくてタスク(tasks、あるいはschtasks)ですよね。これ以上に確実な方法は思いつきません。なぜschtasksではダメなんでしょうか?(補足があったので追記)Windows以外では(というかUnix系OSでは)cronが一般的ではないでしょうか。WinOSでは代替手段としてschtasksがあるということでhttp://ja.wikipedia.org/wiki/Crontab
Perlから連想されるキーワードを表示中
このページはWebサービスを利用して作成されています。詳しくは以下のページをご覧ください。