Perlコーディング初心者質問スレ Part 63
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/09/09(金) 18:11:49.71ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >>2 以降
前スレ http://hibari.2ch.net/test/read.cgi/php/1295170172/
0667nobodyさん
2012/04/23(月) 23:38:11.72ID:???0668nobodyさん
2012/04/23(月) 23:39:07.69ID:???0669nobodyさん
2012/04/24(火) 00:13:24.36ID:???0671nobodyさん
2012/04/25(水) 22:26:34.87ID:+oSgS9z70672nobodyさん
2012/04/25(水) 22:54:01.87ID:???name="form1" target="_top">
<input type="hidden" name="SelectPoint" id="SelectPoint" value="">
</form>
上記をmechで記述したいのですが、どのようにしたら良いのでしょうか?
submit か post モジュールでしょうか?
0673nobodyさん
2012/04/26(木) 18:55:24.85ID:???つ ttp://ja.wikipedia.org/wiki/%E7%A9%B6%E6%A5%B5%E8%B6%85%E4%BA%BA%E3%81%82%E3%80%9C%E3%82%8B
0674nobodyさん
2012/04/27(金) 21:41:56.60ID:Sw347W35いろいろ作業が便利になりそう。
0675nobodyさん
2012/04/27(金) 21:48:46.25ID:???に渡したい、ということですか?それはCGIに関する質問ですか?
0676nobodyさん
2012/04/28(土) 05:21:45.77ID:???name="form1" target="_top">
<input type="hidden" name="SelectPoint" id="SelectPoint" value="">
</form>
上記をmechで記述したいのですが、どのようにしたら良いのでしょうか?
submit か post モジュールでしょうか?
0677nobodyさん
2012/04/28(土) 05:22:25.20ID:???レスして頂きありがとうございます。
私は社会人になったばかりで、プログラミングをしたことがほとんどなく、上司に何とかしろと言われて困っています。
上司はプログラミングは全く出来ず、零細企業なので相談する相手もいません。
スレチなのかもしれませんが、ヒントだけでも、ご教授頂けないでしょうか?
連休明けには出来るようにしとけ、と言われています(>_<)
0678nobodyさん
2012/04/28(土) 05:23:46.66ID:???0679nobodyさん
2012/04/28(土) 08:17:52.38ID:???0680nobodyさん
2012/04/28(土) 08:40:53.38ID:???悩んでる暇があるなら、直接書け
0681nobodyさん
2012/04/28(土) 11:24:03.04ID:???直接書くほうが吉。覚えるものが少ないし、今後応用も利く。
あるいはmethod="post"をmethod="get"にしてもいいけどね。
0683nobodyさん
2012/04/28(土) 12:44:57.48ID:???こうはなりたくないものだ。だが反面教師としてはいい仕事。
0684nobodyさん
2012/04/28(土) 13:44:06.50ID:???まず、当事者意識が完全に欠如している。さらに、独り立ちをしようとせず、常に何かに依存し、
消費し、批判するだけの「お客さま」でいつづけようとしている。これはゆゆしき事態であり、
日本社会のありかたにかかわる重大な問題である。
最近の若者は、定職に就きたがらない。
あるいは、会社に入っても一定のポジションで身を立てようとしない。
なぜなら、社会的なかかわりを、全て暫定的・一時的なものと見なしているからだ。
彼らに言わせると、本当の自分は別のところにあり、現実の自分は仮の姿に過ぎないんだそうだ。
本当の自分は棚上げしておいて、いつまでも立場を替え、考えを変え、
自分自身をも変身させる余地を残しておく。一貫した主義主張をもたないか、もたないふりをする。
特定の党派、集団に全てを賭けることを避けようとする。
↑これ1977年に書かれた論評な 1997年じゃないぞ 今から30年以上前の文章だ
0685nobodyさん
2012/04/28(土) 14:46:07.99ID:???#!/usr/bin/perl/ -w
use strict;
use WWW::Mechanize;
use HTTP::Request::Common qw(POST);
#セッション切れるからクッキー必要?
use HTTP::Cookies;
#use Web::Scraper;
use encoding qw(euc-jp);
# cookie_jarの生成
my $cookie_jar = HTTP::Cookies->new(file => $cookie_file, autosave =>
1,ignore_discard => 1);
0686nobodyさん
2012/04/28(土) 14:46:57.80ID:???#ブラウザのユーザエージェントのエイリアス名
my $browser_user_agent = "Windows Mozilla";
my $mech = WWW::Mechanize->new();
$mech->cookie_jar($cookie_jar);
$mech->agent_alias( $browser_user_agent );
my $response = $mech->get( $url );
#form POSTする
my %formdata = (
'action'=>'../RealGraphView/Index.asp',
'id' => '01-02',
'name' => 'form1',
'target' => '_top',
'name' =>'SelectPoint',
'id' => 'SelectPoint',
'value' => ''
);
my $request = POST($url, [%formdata]);
my $res = $mech -> request($request);
# 中身のチェックをしてみるよ
print "現在のページのContentは?\n" . $res->content() ."\n\n";
0687nobodyさん
2012/04/28(土) 14:49:00.58ID:???スレ汚しで申し訳ありませんm(_ _)m
0688nobodyさん
2012/04/28(土) 15:16:19.51ID:???0690nobodyさん
2012/04/28(土) 16:13:31.64ID:???非協力的なのに何とかしろというのならば、あるいは何とかしたいのかも
しれない(試用期間も終わったし)
0691nobodyさん
2012/04/28(土) 16:48:30.97ID:???0692nobodyさん
2012/04/28(土) 17:53:29.20ID:???0694nobodyさん
2012/04/28(土) 19:48:03.75ID:???本題の解決策がわからなくて申し訳ないが気になった点を。
1)1行目のperlの後ろの/は削除(実行できているようだけど)。
2)$cookie_fileは何かのファイル名に変える。
自分の環境では↓のエラーが出ました。
Global symbol "$cookie_file" requires explicit package name at ./script.pl line 14.
Execution of ./script.pl aborted due to compilation errors.
てゆか一連のセッションを実行するならcookieの保存(cookie_jar指定)はいらないはず。
書いてもらったスクリプトには続きがあるのかな?
3)本来スクリプトはUTF-8で書いて
use encoding qw(euc-jp);
↓
use utf8;
とした方がいい。
最終行は対象ページがShift_JIS(cp932)なら
use Encode;
print "現在のページのContentは?\n" . encode("utf-8", $res->decoded_content('charset'=>'cp932')) ."\n\n";
かな。
0695nobodyさん
2012/04/28(土) 22:34:34.68ID:zGua3yDXとりあえずこの本を読んでいるがおおよそ理解できている。
http://www.amazon.co.jp/dp/4774150258
つぎにおすすめとかある??
MovableTypeのプラグインとか作れるレベルには3ヶ月ぐらいでなりたい。
ちなみにプログラミング歴はJavaScriptをまぁまあ、PHPを少々。
0696nobodyさん
2012/04/28(土) 23:04:09.66ID:???自分は中学生の頃読みました。
0697nobodyさん
2012/04/28(土) 23:17:08.63ID:???0698nobodyさん
2012/04/28(土) 23:24:14.90ID:???0699nobodyさん
2012/04/28(土) 23:43:56.75ID:???いうのはステルスマーケティングの疑いが濃厚ですね
0700nobodyさん
2012/04/29(日) 00:15:11.47ID:???ものをPerlで書くにはどうするのかって話なのな。んで処理した結果をExcel
に貼り付けるのは手作業なのなwま、いいけどね。
0701nobodyさん
2012/04/29(日) 00:23:08.69ID:???0702nobodyさん
2012/04/29(日) 00:26:42.16ID:???壊れるモジュールならあります。
0703nobodyさん
2012/04/29(日) 00:29:36.92ID:???0704nobodyさん
2012/04/29(日) 07:08:52.17ID:???676, 685-686です。
返答ありがとうございます。
1. /いらないですね(>_<)
2. $my cookie_file; を加えました。続きはありません。
3. 文字化けして困ってました。ご指摘ありがとうございます。
質問A
POSTの部分ですが、name と id がそれぞれ2回ずつ出てきます。
同じ変数名でいいのでしょうか?
質問B
form タグ内のid (form1)は、ここには書いていませんが、javascript から返された値だと認識してます。直接、値を記述してよいものでしょうか?
0705nobodyさん
2012/04/29(日) 10:58:15.00ID:???name は複数あると、CGI モジュールは配列で返してくると思った
0706nobodyさん
2012/04/29(日) 12:58:54.45ID:???とりあえず内容の誤りが多いので作者のページの正誤表でフォローが必須なのは事実
逆にそれをわきまえて自分の中で反芻してるなら問題はないでしょ
で、次のお勧めはこれかな
ttp://www.amazon.co.jp/dp/486267108X/
標準添付でも案外見落としてるモジュールがあることに気付く
CGI系はもう扱ってない(代わりに扱ってるのはPSGI/Plack系)点には要注意
0707nobodyさん
2012/04/29(日) 15:49:59.28ID:???だけあれば十分なのにね。その位ならPerl5ポケットリファレンスに付け足し
てもいける。
0708nobodyさん
2012/04/29(日) 18:28:09.76ID:???「cpanminus教えれば十分そんな本いらん」って、お前も随分と失礼な発言だな
2chのPerlスレはそのレベルに達していないどころか
「cpanmもperlbrewも使うな、システムがぐちゃぐちゃになる」
なんてのがまかり通ってたじゃねえか
0709nobodyさん
2012/04/29(日) 20:28:14.32ID:???0710nobodyさん
2012/04/29(日) 20:30:21.61ID:???0711nobodyさん
2012/04/29(日) 20:37:03.58ID:???,,ッヾ ミ、
、ヾ ミ、
X゛ ミ
ミ ,,,,,,,,,a''''ヾ. ミ
三 ,,a''" ヾ ミ
彡 |`ヽ'" _ヾミ
彡 ヽ __ _彡ミ_ミ
ミ 〉 _彡≡'´ ,r __ |
ミ / 〃 _ ヽ 〈 ∠ソ,>.{
ミ ヽ ∠ソ_ヽ, ′ ヽ`ー'' ヽ
ミ __ | ー一' \ !
`{ r-;\| ,、 丿ヽ. j
ヽヽ`コ.`j / `ー ''" :i!
ヽ _ ; / _,, -―‐''"ア j
\ i ヽ ヽ´`ー―一'" /
`! ` ⌒ |
,、_」 ` 、 \ _ノ
_/ ヽ ` ー-=―一'「`i-、_
/ \ \ __,r'´ |  ̄
/ .\  ̄ ̄ ̄ ̄ ̄ ノ
`ー―――――― '"
0712nobodyさん
2012/04/30(月) 07:35:10.72ID:???よくもまあ日本人の書いた本なんて読むもんだわ。献本でもされてんの?
読んでない(本屋で斜め読み)けど薦めてんの?
普通の人間なら、O'Reilly のラクダ、料理本、PBPあたりを読んで、追加で
Effectiveと救命病棟くらいを読めばいっぱいいっぱいだろ?
逆に、これらを読んでたら後発の日本人の本なんて読む気すら失せるけど。
0713nobodyさん
2012/04/30(月) 07:36:19.02ID:???0716nobodyさん
2012/04/30(月) 11:59:40.66ID:???外国の本マンセー
日本の本はクソ
でも英語読めないから日本語に訳せ
まあおかしくはないけどね、おかしくは
0718nobodyさん
2012/04/30(月) 12:21:35.69ID:???日本語訳がある本は、この本は訳して
日本で売れると判断したものだから
選ばれた本でもある。
0720nobodyさん
2012/04/30(月) 12:29:53.20ID:???2chでPlack使う奴が一人もいない現実を見ろよ。
0721nobodyさん
2012/04/30(月) 12:36:03.52ID:???「Rubyが憎いからPython大好き」とかも理解できん
0722nobodyさん
2012/04/30(月) 13:03:23.31ID:???どうかで判断するけどな。残念ながらいわゆる日本のひとが書いた
ものはオリジナリティが低い傾向があるのは否めない。ただ日本人っ
てひとくくりにするのは(自分も含めて)どうかと思うんだけどね。
0723nobodyさん
2012/04/30(月) 13:51:01.17ID:???それと編集の力量がない人が担当するからひどい物しか出来ないんではないかと
0724nobodyさん
2012/04/30(月) 14:23:36.77ID:???自分が知ってる内容を書きました。
で終わってるのが大半だからね。
原書をあたって、それをわかりやすく再構成、解説しました
みたいな本はものすごく少ない。
0725nobodyさん
2012/04/30(月) 14:59:00.04ID:???・箇条書きの方が分かりやすい場合でも、文章で説明したがる
こういった本はクソ
0726nobodyさん
2012/04/30(月) 16:16:02.92ID:???そのへんだと海外だと厳しいなあ。
0727nobodyさん
2012/04/30(月) 16:53:49.39ID:???0728nobodyさん
2012/04/30(月) 17:44:38.24ID:???だったら原書読んだ方がはるかにマシ
しかし原書も古い書き方を見捨てモダン()に走る兆候がみられてきている
高い新品の本を買うなら一昔前の版を安く買ったほうがコストパフォーマンス面では断然良い
0729nobodyさん
2012/04/30(月) 17:56:01.18ID:???わざわざ敷居を高くして付き合いづらいものにしようなんて意図は全くない
0730nobodyさん
2012/04/30(月) 18:09:03.43ID:???お前もモダン()って言葉に踊らされている
要は書き方の問題だよ
自分一人で満足するなら新しい書き方でもいい
でも他の人でも保守できるようにするなら古典的な書き方の一択しかない
0731nobodyさん
2012/04/30(月) 19:33:27.10ID:???なんだから、モダンなんて言われてないの当たり前
モダンと言わなくても、モダンに書くのが海外
0732nobodyさん
2012/04/30(月) 20:49:51.58ID:???0733nobodyさん
2012/04/30(月) 21:00:57.20ID:???1 ((限定))現代の, 近ごろの, 今の
modern city life
現代の都会生活.
2 ((限定))近世の, 近代の. ⇒ANCIENT11, CLASSICAL, MEDIEVAL
modern history
近世史(ほぼルネサンスから現代まで).
3 〈流行・考えなどが〉現代風の, 新しい, 最新の, モダンな(up-to-date);((限定))〈芸術・文学・音楽などが〉現代的な
modern dance
モダンダンス
modern fashions
最新の流行型.
━━[名]((しばしばthe ?s))現代人;新しい思想の持ち主
This author is one of the moderns.
この作家は現代の作風を代表する一人である.
0734nobodyさん
2012/04/30(月) 21:19:31.95ID:???0735nobodyさん
2012/04/30(月) 21:48:32.78ID:???0736nobodyさん
2012/05/01(火) 01:20:21.22ID:???モダンじゃないとするとどうして「古く」なっちゃうのかちょっと
教えてくれよ、そこのノータリン。
0737nobodyさん
2012/05/01(火) 12:35:54.71ID:???0738nobodyさん
2012/05/01(火) 21:05:19.98ID:???維持してきている。そこで、
同心円の内側のみを使ってスクリプトを記述すれば、古いインタプリタでも
新しいインタプリタでも実行できて便利(そういう需要がある)。
と考えるのと
同心円の外側の部分のみを使ってスクリプトを記述すれば、古いインタプ
リタを根絶できるので便利(複数のインタプリタをメンテするのは無理・無駄)。
と考えるのとがあり、目指していることが違うので議論はいつも平行線で
終わってしまう。
0739nobodyさん
2012/05/01(火) 22:39:14.05ID:???今よりも古いOSで動かすとかまずありえない。
0740nobodyさん
2012/05/01(火) 23:19:15.85ID:???0741nobodyさん
2012/05/02(水) 23:55:49.46ID:???0742nobodyさん
2012/05/03(木) 12:53:45.35ID:???a.cgiからlib/b.cgiをrequireするんですが
Can?t locate ./lib/b.cgi in @INC
とエラーが出てしまいます。
コマンドで
perl a.cgi
だと問題なく動くのでCGIの場合に相対パスで読み込めてないような気がします。
どこの設定を見直せばいいでしょうか?
./
|
|a.cgi
|
|lib-|
|b.cgi
0743nobodyさん
2012/05/03(木) 14:16:30.71ID:???今の環境を書く。
前の環境に戻す。
0744nobodyさん
2012/05/03(木) 14:44:25.44ID:???require を相対パスで書かずに絶対パスで書く
0745nobodyさん
2012/05/04(金) 13:56:44.21ID:???後者が古いものを切り捨てようとしているのに対して、前者は新しいものを
切り捨てようとしている【わけではない】ことに注意する必要がある
0747nobodyさん
2012/05/04(金) 17:49:33.26ID:???mod_perlだったみたいで互換性ないの知りませんでした
ふつうのCGIにしたら問題なく動きました
0749nobodyさん
2012/05/04(金) 21:41:24.52ID:???しかたがない
0751nobodyさん
2012/05/05(土) 23:38:10.71ID:???あせっているのかが訳わからない
0752nobodyさん
2012/05/06(日) 09:53:21.29ID:???余程古い書き方してなけりゃ無理して追う事は無い
0753nobodyさん
2012/05/06(日) 10:49:50.61ID:???0754nobodyさん
2012/05/08(火) 11:27:12.65ID:KnJQK4viエンコード指定すれば回避できると思い調べていたがどうにも・・・orz
送信者(MailFrom) : テスト送信 ぬるぽ <nullpo@nulupoppo.null>;
↓
送信
↓
{文字化けした文字} <nullpo@nulupoppo.null>;
0755nobodyさん
2012/05/08(火) 13:58:50.62ID:???0756nobodyさん
2012/05/08(火) 14:04:12.49ID:???0757nobodyさん
2012/05/10(木) 11:20:36.37ID:???普通 -=utf8? みたいなのからはじまって = で終わるかんじだとおもうんですが・・・どうしたらorz
0758nobodyさん
2012/05/10(木) 12:38:20.34ID:???MIME::LiteはMIMEヘッダ用のencodeはやらないので自前でやれ、てことらしい
encode("MIME-Header-ISO_2022_JP", "ぬるぽ");
# =?ISO-2022-JP?B?GyRCJEwkayRdGyhC?=
参考:
ttp://pmakino.jp/tdiary/20061215.html
ttp://iandeth.dyndns.org/mt/ian/archives/000628.html
あとMIME::Liteはもう更新されてないのでEMail::Senderとか使えとマニュアルにあった
ttp://search.cpan.org/~rjbs/MIME-Lite-3.028/lib/MIME/Lite.pm
0759nobodyさん
2012/05/10(木) 12:40:25.73ID:???use utf8;
print encode("MIME-Header", "ぬるぽ");
# =?UTF-8?B?44Gs44KL44G9?=
0760nobodyさん
2012/05/10(木) 14:41:15.55ID:???と自分で確認せずに質問する私
0761758-759
2012/05/10(木) 16:43:05.99ID:???ごめんなさい、use Encode;ないと無理ですね_| ̄|○ il||li
ちなみに>>758はuse utf8;不要、>>759は要use utf8;です
0762nobodyさん
2012/05/10(木) 23:52:03.09ID:???0763nobodyさん
2012/05/11(金) 00:48:08.10ID:???0764nobodyさん
2012/05/11(金) 01:08:31.24ID:???encode() に渡されるのはフラグの立った utf8
まずは日本語の扱いをもっと学習した方が良いかも
0765nobodyさん
2012/05/11(金) 01:11:10.98ID:???0766nobodyさん
2012/05/11(金) 01:12:05.76ID:???■ このスレッドは過去ログ倉庫に格納されています