トップページphp
1001コメント343KB

Perlコーディング初心者質問スレ Part 63

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/09/09(金) 18:11:49.71ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >>2 以降

前スレ http://hibari.2ch.net/test/read.cgi/php/1295170172/
0588nobodyさん2012/03/23(金) 04:58:11.94ID:???
>>585
exitって必要なの
0589nobodyさん2012/03/23(金) 05:11:05.01ID:???
\n\n
0590nobodyさん2012/03/23(金) 05:15:18.99ID:???
Header1: foo
Header2: bar
(空行)
body

仮にボディを空にするとしても、ヘッダとボディを隔てるものは必要ですよね
0591nobodyさん2012/03/23(金) 05:46:15.14ID:SsskDSLS
>>588
確かに585のような最小コードでは、exitは有っても無くても変わらないかも。

>>589-590
ステータスコードの末尾を\n\nにすると、
実際にページが送信されている(といっても改行1つだけだが)という扱いになるのか、
デフォルトの404ページが表示されずに、真っ白のページが表示されるようだ。

ちょっと面倒だけど、ブラウザ表示用にエラーページを用意して、
それを出力するようにすれば、とりあえず問題は無さそう。


.htaccessでErrorDocument指定されてるページに飛ばすには、自前でリダイレクトするしか無いのかなー?
0592nobodyさん2012/03/24(土) 01:12:43.26ID:???
>>591
普通exitなんて書かないよ?トホホにでも書いてあったのかな。
0593nobodyさん2012/03/24(土) 03:29:50.29ID:???
>>592
トホホは見てないけど、そうなんだ。
正常終了のときは使わない方がいいのかな。まあ、異常終了ならdie使うけど。
0594nobodyさん2012/03/24(土) 06:48:02.45ID:???
コードが最小だろうが最大だろうがそんなものは必要ない
0595nobodyさん2012/03/24(土) 08:52:21.86ID:???
何故exitが不要なのか、
いわゆる「省略の美学」以外に積極的な理由があったら、誰か教えて欲しい。

何らかの弊害(速度や安全性の問題など)があるとか、
別の関数等で置き換えるのが普通だとか、
構造化プログラミングにおけるgoto不要論と同じような理由だとか、ヒントでも構わないので。
0596nobodyさん2012/03/24(土) 09:25:36.37ID:???
そりゃなくても最後まで行けば仕舞いだけどexitは必ず書いてるな。
0597nobodyさん2012/03/24(土) 09:51:51.12ID:???
>>595
コンパイル済みのスクリプトをキャッシュして使い回すような環境で
無闇に exit すると良くないケースがある。
http://cast-a-spell.at.webry.info/200801/article_9.html
http://harapeko.asablo.jp/blog/2006/06/29/425898

反対に、書かなくていい場面で書いておくのが「冗長の美学」でしかないのなら、
__END__ なり #exit なりとしておいた方が無害でいい。
0598nobodyさん2012/03/24(土) 10:10:34.01ID:???
mod_perlとかplackみたいな永続化環境だとアクセスごとに走る部分でexitしたらだめじゃね
なんにせよこれ「いわゆる省略の美学」とは全く別問題
0599nobodyさん2012/03/24(土) 10:43:09.74ID:???
>>597-598
ありがとう。
mod_perlへの移植(と言ってもかなり書き換えることになりそうだ)を考えるなら、
最初からexitを使わないコーディングが重要ってことか。

mod_perlだと通常のexitは使わないほうがいいってのは聞いたことがあったんだけど、
実際にmod_perlは弄ったことがなくて、その感覚が掴めてなかった。


>>596-597
プログラムを1ファイルで済ませたい場合、
自分はメインルーチンソースファイルの先頭に、サブルーチンを最後にまとめて書くことが多いんだけど、
メインルーチンの最後に、以下はメインルーチンとしては実行されませんよと明言するためにexitを入れたりしてた。
0600nobodyさん2012/03/24(土) 11:58:06.99ID:???
俺も同じでソースの最初に main() なんだけど、その直前に exit() 書いてる。


use なんちゃら〜

our なんちゃら〜

main();

exit(0);

sub main{
}

sub func{
}


っていう感じ。
0601nobodyさん2012/03/24(土) 17:23:47.75ID:???
Cから入った人に多そう、とか思った
0602nobodyさん2012/03/25(日) 01:57:35.52ID:???
基本的に.pmにロジック書いて、.plはそれを呼ぶだけだからexitは滅多に使わないなあ。
0603nobodyさん2012/03/25(日) 15:34:18.54ID:???
1枚スクリプトで、&main; exit; は有りだと思う。
ただ基本は >>602 のようにするから滅多に使わない。


冗長の美学を語る人が、1枚に長いスクリプト書いてるのは矛盾を感じる。
0604nobodyさん2012/03/25(日) 18:03:11.28ID:???
>>603
そこはスクリプトの規模によるんじゃね?
短めの、他と共通化出来ないサブルーチンが2〜3個あるくらいなら、分けるまでも無いだろう。
0605nobodyさん2012/03/25(日) 19:02:45.23ID:???
それはそんなソースになってる時点で論外だな。
0606nobodyさん2012/03/25(日) 19:14:00.38ID:???
別に嫌みとかでは無いんだけど、>>605 の数百行ぐらいの小さいソースと、
2〜3000行ぐらいの中規模のソースを見てみたい。

ってのも、俺の殆どのソースは1枚で済ましてるから、他人ので学習というか知識を深めてみたいから。
0607nobodyさん2012/03/25(日) 20:04:16.17ID:???
605は安価がないからなー、自分が思ってるのと全く違う主張の可能性もあるw
06086032012/03/26(月) 02:46:50.44ID:???
>>606
>>605 とは別人なんだが、数百行の小さいソースって、1プロジェクトで数百行ってことかな。
1ファイルで4,5百行くらいって話だとちょっと長いかな。
スクリプトファイルを書くにしても、大体いろいろな機能をクラス(pmファイル)に分けてそいつらの責任に任せたほうがメンテが楽。






0609nobodyさん2012/03/26(月) 14:06:22.42ID:???
>>608
それはモダンなやり方ですか?
0610nobodyさん2012/03/27(火) 01:13:45.03ID:???
え、モダンかぁ、、、、悪い書き方はしちゃダメだけど、モダンとかは気にしないほうがいいと思うよ、、、
流行り廃りだし、自分で判断したほうがいいよ
0611nobody2012/03/30(金) 00:02:30.52ID:???
そうだね。モダンは足が速いから。スレッドももうなくなったしね。
0612nobodyさん2012/03/30(金) 00:16:05.99ID:???
【モダン推奨】Perlについての質問箱 50箱目
http://toro.2ch.net/test/read.cgi/tech/1327110999/
0613nobody2012/03/30(金) 00:29:41.87ID:???
初心者には敷居が高いから万人向けってわけじゃない
0614nobodyさん2012/04/03(火) 10:03:29.27ID:???
こちらはcatalystについての質問でもよろしいでしょうか?
catalystのスレはあるものの、人が居なさそうなので。。

catalystとApacheをつなぐために、
perl-Catalyst-Engine-Apache-1.12-1.el5.rf.noarch.rpm
を入れようとしているのですが、依存関係で以下の物が足りないと落ちます。
---> Package perl-Catalyst-Engine-Apache.noarch 0:1.12-1.el5.rf set to be updated
--> Processing Dependency: perl(Apache::RequestRec) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::Response) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::Const) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache2) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::RequestIO) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::URI) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::Connection) for package: perl-Catalyst-Engine-Apache
--> Processing Dependency: perl(Apache::RequestUtil) for package: perl-Catalyst-Engine-Apache

いろいろ探すと、mod_perlの旧バージョン(1.9.9)には含まれていたものの最新バージョン(2.0.5)には含まれて居ないモジュールのようです。

対応方法が分かる方、ご教授いただけますでしょうか。
宜しくお願いいたします。
0615nobodyさん2012/04/03(火) 11:11:13.68ID:???
>>614
人がいなくてもそれがそのスレなんだからそこに書くしかないんじゃ?
人が少ないからで別スレきたら何でもアリになるだろ
06166132012/04/03(火) 16:39:22.06ID:???
自己解決しました
Catalyst::Engine::Apache2
なるものがcpanから出てました
ちょうど過渡期のようですね
0617nobodyさん2012/04/04(水) 00:34:44.70ID:???
過渡ちゃんペッ
0618nobodyさん2012/04/04(水) 18:53:47.59ID:???
CGIゲーム改造してるんだけど

ID<>名前<>パスワード<>データ各種・・・

みたいに記録してあって下のように処理しててこれが何か所も出てくる
扱うデータ増やすたびに全て修正しなくちゃいけなくてやたら面倒くさい
配列だと見た目で何の変数かわかりにくいし連想配列はつなぐときの順番がばらばらだし
どちらも読み取りだけの時使わない変数まで格納するの無駄かなあと考えてたら先に進まなくなってしまった
変数の追加とか挿入とかするとき一か所くらいの修正でいい無駄の少ない方法ない?

for($i=0;$i<$num;$i++){
   ($id[$i],$name[$i],$pass[$i],...) = split (/<>/, $data[$i]);
   ↓
   処理
   ↓
   $newdata[$i] = "$id[$i]<>$name[$i]<>$pass[$i]<>...";
}
0619nobodyさん2012/04/04(水) 20:03:38.87ID:???
>何か所も出てくる
subにぶち込んどきゃいいだろ
0620nobodyさん2012/04/04(水) 21:27:07.37ID:???
そんなあなたにはスライス
0621nobodyさん2012/04/04(水) 22:59:22.68ID:???
スライスって数字のやつ?何か挿入して増やそうとするとずれるよね
単純に後ろに追加すると位置的にわかりにくいから挿入したいんだが、数字のチェックもしなくていい方法ない?
元のデータの書き換えは再生成するから考えないとして


データ0<>データ1<>データ2<>・・・

データ0<>データ1<>データx<>データ2<>・・・

それとサブルーチンだとどうやって引き渡そうか悩んでる
配列だと結局受け取るときに順番が大事だし連想配列だと上書きする時また<>で連結しにくいと思ったんだが
0622nobodyさん2012/04/04(水) 23:25:45.28ID:???
順番付き連想配列使えば良いじゃんw
0623nobodyさん2012/04/05(木) 00:00:05.98ID:???
データファイルにはヘッダを必ず含めれば幸せになれるかも。

スライスは苦手なのでサンプルは今書けないけど、ファイルを全て読み込んだ時のイメージはこんな感じ。

my $data = {};
$data->{'headers'} = [〜];
$data->{'data'} = [
 {○=>△,◇=>□},
 {○=>△,◇=>□},
  〜以下略〜
];

読み書きは @{$data->{'headers'}} の順番で行えば良い

で、読み書きを行うサブルーチンを作れば良い。


CSV 的なデータを連想配列で読み込むモジュールがあった気がする。
0624nobodyさん2012/04/05(木) 00:25:31.57ID:???
だから順番付き連想配列使えって。
なんで無理して難しい方法で実現しようとするの?
0625nobodyさん2012/04/05(木) 06:21:58.63ID:???
>>624
例えばこうやるんだよ、って簡単なサンプルコードを書いてやるといいよ。
0626nobodyさん2012/04/05(木) 09:51:23.36ID:???
>>618
ちょっと書いてみた。
http://www5.puny.jp/uploader/download/1333586646.zip
pass: perl

順番付き連想配列ってこうでいいのかな?
添削歓迎。
06276262012/04/05(木) 10:42:38.78ID:???
id とかって配列なのか。
ぱっと見 $i いらなそうなので無視してましたよ。
要件満たしてないっぽいので忘れてください。
0628nobodyさん2012/04/05(木) 13:04:38.74ID:???
http://www5.puny.jp/uploader/download/1333598575.pl
pass:perl
自分はこう書いた
0629nobodyさん2012/04/05(木) 15:56:41.39ID:???
>>628 それだったら $data = [array_ref, hash_ref, ...] の方が良くないですか?

my $data = readdata_mod();
my $headers = shift @$data;

for my $hash (@$data){
 $hash->{NAME} .= '【逮捕】';
 print "$hash->{$_}\n" for @$headers;
}

sub readdata_mod{
 my $headers = <DATA>;
 chomp $headers;
 $headers = [split(/<>/, $headers)];

 my $data = [$headers];

 while(my $line = <DATA>){
  chomp $line;
  my %tempdata = ();
  @tempdata{@$headers} = split(/<>/, $line);
  push @{$data}, \%tempdata;
 }
 return $data;
}

それより気になるのは >>618 のソースだと
@id,@name,@pass... と配列があるんですよね。
これをどう処理してるか謎なんで
レコードをなめるだけでいいのか悩むところ。
0630nobodyさん2012/04/05(木) 16:34:07.79ID:???
そこは好みかな
自分はデータとヘッダは分離させたいので、ああやって書きました。
0631nobodyさん2012/04/06(金) 11:04:06.62ID:AWfq6sbZ
すいません。perlをコマンドラインで使うやり方について質問させて下さい。
例えば数字の入ったファイル名だけ全部lsしたい時って
どのように書けばいいのでしょうか。
こんな風に書いてみたんですが何も出力されません…
ls | perl -e "print /[0-9]/ "
0632nobodyさん2012/04/06(金) 11:29:12.54ID:AWfq6sbZ

find . -maxdepth 1 -name '*.gif' | perl -ne 'print if /\/*[0-9]{2}\.gif$/;'
こんな感じで出来ました
0633nobodyさん2012/04/07(土) 02:00:48.78ID:???
>>632
find . -maxdepth 1 -name "*[0-9][0-9].gif"
0634nobodyさん2012/04/07(土) 02:02:53.93ID:???
>>632
> if /\/*[0-9]{2}\.gif$/;
これはワイルドカードと正規表現をごっちゃにしているな。別物だからちゃんと区別するように。
0635nobodyさん2012/04/07(土) 04:29:33.70ID:???
それって
find . -maxdepth 1 -name "[0-9][0-9].gif"
と等価なだけなんじゃないのか
0636nobodyさん2012/04/07(土) 09:58:11.44ID:???
以下のコードで,https://member.livedoor.com/login/
取得できません.

use WWW::Mechanize;
my $mech = new WWW::Mechanize( autocheck => 1 );
my $url="https://member.livedoor.com/login/";
#my $url="https://www.nodeworks.com";
$mech->get($url);
print $mech->content;


$url を https://www.nodeworks.com とした場合は,取得できます.
https://member.livedoor.com/login/ が取得できない原因として,
何を疑ったらいいでしょうか??
0637nobodyさん2012/04/07(土) 11:49:34.04ID:???
USER AGENT がちゃんと設定されてないだけでしょ
0638nobodyさん2012/04/07(土) 12:32:23.46ID:???
HTTP::Cookies
0639nobodyさん2012/04/07(土) 19:43:25.79ID:???
マジレスするとSSLを使用しているページにはCrypt-SSLeayを入れないと繋げない事もある
0640nobodyさん2012/04/07(土) 21:04:03.67ID:???
あくてぃぶ とか すとろべりー ならインストール後には可能やよ
Linux 標準の ぱーる は おーぷんえすえすえる 入れないとだめですわ シャキーン
0641nobodyさん2012/04/08(日) 11:30:20.98ID:???
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
を追加すると繋げることもある
06426362012/04/08(日) 21:41:15.55ID:???
>>641

https:://gitub.com は,
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
でいけた.

しかし,https://member.livedoor.com/login/ は,それでもいけない.
https://member.livedoor.com/login/ は,特殊なんかな.
0643nobodyさん2012/04/14(土) 20:30:27.28ID:???
「かんたんプログラミングCGI/Perl」ってこのスレ的にはどうでしょう?
ttp://d.hatena.ne.jp/perlcodesample/20120414/1334359182

この人のブログ、>>2のテンプレに載ってないから心配になって聞いてみました。
0644nobodyさん2012/04/14(土) 20:38:40.49ID:???
ソースコードに誤字山積ってだけで論外だろ。

そのブログ自体は数年前から、2ch に宣伝気味に貼られるけど
あんま相手にされてない

0645nobodyさん2012/04/14(土) 20:45:44.78ID:???
>>644の言う通り。その本もブログも絶対に参考にしちゃだめ。
現代的()なPerlなんて覚えてもろくなことにならないから
5.6でも動くようなコーディングを心がけるべし。
あとこいつがプッシュしてるMojoliciousも、ちょっと有名なCatalystとかも
やめといた方がいい。
フレームワークなんてすぐ腐る。
CGIが一番。
0646nobodyさん2012/04/14(土) 21:04:47.55ID:???
フレームワークは小さなやりたいことに対して規模がデカすぎ
0647nobodyさん2012/04/14(土) 21:09:27.25ID:???
10年以内に発売されたような高性能PCとかじゃないとすぐメモリを食いつぶされるからな>フレームワーク。
フレームワークは金持ちのお坊ちゃまの娯楽、甘えでしかない。
技術を自分のモノにしたければCGIで泥臭く書け。
0648nobodyさん2012/04/14(土) 21:45:18.04ID:???
フレームワークごときでメモリが食いつぶされるような
貧弱なマシンで使ってるの?

それ選択が間違いなだけだよ。

ユーザー数、数万、数十万のウェブサービスを作っていれば、
必然と複数台構成のマシンになる。
メモリの話だと1台10GBオーバーとか当たり前。

そういう世界の人に対して高性能PCとか、メモリ容量とか
釈迦に説法ってやつだと思わないか?
0649nobodyさん2012/04/15(日) 11:24:37.83ID:???
はいはい、Mojoと喪男でがんばってね!
0650nobodyさん2012/04/15(日) 11:27:08.04ID:???
とにかくCGIで書くことを心がければ小規模から大規模までどんなアプリだって書けるようになる。
フレームワークは覚せい剤。手を出したら終わり。
0651nobodyさん2012/04/15(日) 11:52:49.40ID:???
まあおれの場合、CGI.pmすら嫌なんでHTML直に書いてるけどね
その方が書きやすいしメンテもしやすいと思ってる
初期の頃からそうしてるけどぶれていないね
0652nobodyさん2012/04/15(日) 11:58:08.00ID:???
いいねぇ。素晴らしい。
楽はしちゃだめだよね。
0653nobodyさん2012/04/15(日) 13:46:50.99ID:???
モジュール作成者の世界観とおれが直面している問題とは無関係だから。
モジュールのメソッドの整理具合が、個別の問題にマッチしていないのは
当然あり得ること。
個別の問題を解決するのを車輪の再発明だとは思わない(キリッ
0654nobodyさん2012/04/15(日) 14:12:09.38ID:???
>>653
そういう場合はラッパーを作ればいい。
0655nobodyさん2012/04/15(日) 14:12:40.71ID:???
プロとアマチュアの違いを見た
0656nobodyさん2012/04/15(日) 15:17:25.01ID:???
なんだかんだで、ちょっと機能を足しただけのラップモジュールを作る機会って少なくないね。

自分が今のやってるロジェクトだとHTML::Template系使ってるけど、
共通パラメータやらフィルタやら、細かい部分が多くてなあ。
0657nobodyさん2012/04/16(月) 00:50:12.93ID:???
ラッパーを作るってことは元のものより粗いものしか作れないでしょ
0658nobodyさん2012/04/16(月) 02:30:46.51ID:???
>>643
ブログの中で自分の名前間違えてたりするレベルなので、本のほうも
推して知るべし、です。
0659nobodyさん2012/04/16(月) 09:27:44.08ID:???
もちろん、こいつの雑誌連載も糞。
上手になりたかったらもっと2chを活用しろ。
オライリーと2chだけで十分。
0660nobodyさん2012/04/17(火) 05:05:18.23ID:???
ある入門書にこう書いてありました
「関数とは、特定のまとまった処理を実行する機能のことです。
・・・一般的に、プログラムの中で呼び出される際にデータを受け取って
特定の処理を行い、結果を返す働きをします」

演算子もこの説明における関数と働きは似ているように見えます
例えば加算演算子が 2 つの数を受け取って和の値を返すというように

関数と演算子に大きな違いがあるのでしょうか?
なんで「関数」と「演算子」とわざわざ呼び分けているわけですか?
0661nobodyさん2012/04/17(火) 12:31:41.99ID:???
その入門書の信頼性を疑ってみる。
0662nobodyさん2012/04/17(火) 12:31:59.01ID:???
>>660
違いは無い。引数の取り方が違うだけ。
0663nobodyさん2012/04/17(火) 12:35:26.61ID:???
入門書なんか捨てろ
Googleも使うな
2chで全て解決
0664nobodyさん2012/04/23(月) 13:21:35.61ID:???
ttp://toro.2ch.net/test/read.cgi/tech/1330666216/731

勝手に持ってきたけど…
printの前に
binmode(STDOUT);
を追加、が手っ取り早い答えかな。

ちなみにバイナリファイルを<>で取得するのは本来良い考えではないよ。
0665nobodyさん2012/04/23(月) 16:18:26.17ID:???
frameworkもmoduleも全部自作
ちょっとめんどくさいのだけコピペ
0666nobodyさん2012/04/23(月) 23:16:14.38ID:???
Perlの場合特にそうなんだけど、演算子に使えるASCII文字は全部使っちゃっ
たわけなんだよ。これ以上演算子を増やすにはアルファベットを並べるしか
ない。それが関数。だって数字を並べると数値になっちゃうからね。
0667nobodyさん2012/04/23(月) 23:38:11.72ID:???
春休みは終わったから帰れw
0668nobodyさん2012/04/23(月) 23:39:07.69ID:???
いつ終わったんだよ
0669nobodyさん2012/04/24(火) 00:13:24.36ID:???
明日も明後日もずーっと夏休みだばか者!
0670nobodyさん2012/04/24(火) 10:22:48.47ID:???
>>669
奥が深い。
0671nobodyさん2012/04/25(水) 22:26:34.87ID:+oSgS9z7
どこが?
0672nobodyさん2012/04/25(水) 22:54:01.87ID:???
<form action="../RealGraphView/Index.asp" method="post" id=form1
name="form1" target="_top">
<input type="hidden" name="SelectPoint" id="SelectPoint" value="">
</form>

上記をmechで記述したいのですが、どのようにしたら良いのでしょうか?
submit か post モジュールでしょうか?
0673nobodyさん2012/04/26(木) 18:55:24.85ID:???
>>671
つ 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
Perlおもしろいな。プログラミングはJSとPHPしかやったことなかったから新鮮だわ。
いろいろ作業が便利になりそう。
0675nobodyさん2012/04/27(金) 21:48:46.25ID:???
mech で SelectPoint の value を ../RealGraphView/Index.asp
に渡したい、ということですか?それはCGIに関する質問ですか?
0676nobodyさん2012/04/28(土) 05:21:45.77ID:???
<form action="../RealGraphView/Index.asp" method="post" id=form1
name="form1" target="_top">
<input type="hidden" name="SelectPoint" id="SelectPoint" value="">
</form>

上記をmechで記述したいのですが、どのようにしたら良いのでしょうか?
submit か post モジュールでしょうか?
0677nobodyさん2012/04/28(土) 05:22:25.20ID:???
>>675
レスして頂きありがとうございます。
私は社会人になったばかりで、プログラミングをしたことがほとんどなく、上司に何とかしろと言われて困っています。

上司はプログラミングは全く出来ず、零細企業なので相談する相手もいません。

スレチなのかもしれませんが、ヒントだけでも、ご教授頂けないでしょうか?
連休明けには出来るようにしとけ、と言われています(>_<)
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:???
使い方の分からないmechにこだわらず、HTTPプロトコルでやりたいことを
直接書くほうが吉。覚えるものが少ないし、今後応用も利く。
あるいはmethod="post"をmethod="get"にしてもいいけどね。
0682nobodyさん2012/04/28(土) 11:27:16.96ID:???
>>679
今の若い人は全員そうだから。おれも内心びっくりしている。
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:???
書いてみましたが、セッションタイムアウトとでます。post hidden の書き方がまずいのでしょうか?

#!/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 $url = 'hogehoge/PointSelect/Map.asp';
#ブラウザのユーザエージェントのエイリアス名
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
■ このスレッドは過去ログ倉庫に格納されています