- 1 名前:nobodyさん mailto:sage [2008/03/03(月) 05:07:32 ID:???]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Perl使いが優しくコメントを返しますが、 お礼はPerlの布教と初心者の救済をお願いします。
- 147 名前:nobodyさん mailto:sage [2008/04/18(金) 01:33:43 ID:???]
- JavaScript併用
- 148 名前:145 [2008/04/18(金) 07:47:12 ID:ThTU7HIn]
- >>146
サーバサイドだからやっぱり無理なんですかね・・ いいモジュールとか有ると期待していたんですが。。。 >>147 JavaScriptのどういったものが教えてください
- 149 名前:nobodyさん mailto:sage [2008/04/18(金) 10:00:46 ID:???]
- 閉じたら消すじゃなくて
開いたら消すにすれば?
- 150 名前:nobodyさん mailto:sage [2008/04/18(金) 14:57:49 ID:???]
- JavaScriptならonUnloadで消去用のスクリプトを実行させれば?
もしくは実行終了のタイミングが予測出来るなら folkなりthreadなりで子プロで消すとかね そもそも消さなきゃならないデータなんて置かなきゃ良いんだよw どうせダウンロードされたくない画像やら動画やらなんだろうけど そんなもんはブラウザのキャッシュからいくらでも回収出来るからなぁ
- 151 名前:nobodyさん mailto:sage [2008/05/01(木) 01:13:00 ID:???]
- foreach で読み込むときに異なる行を複数取得教えてください
foreachの前で下記のようにやってみたらエラーになります $str1 =~ /あいうえお/; $str2 =~ /さしすせそ/;
- 152 名前:nobodyさん mailto:sage [2008/05/01(木) 01:16:22 ID:???]
- 日本語が良くわかんない(><)
- 153 名前:nobodyさん [2008/05/02(金) 11:14:09 ID:Sh68NuTD]
- 2chの日付の後に付くIDはどうやって算出しているのですか?
よろしくお願いします。
- 154 名前:nobodyさん mailto:sage [2008/05/02(金) 23:30:24 ID:???]
- pc11.2ch.net/php/#9のように?とは&使わずに引数使うのどうするの?
- 155 名前:nobodyさん mailto:sage [2008/05/03(土) 00:23:50 ID:???]
- >>154
mod_rewriteとか。 実をゆうと localhost/file.cgi/aaa=bbb とかで、/の後ろを引数として渡したり出来るんだけど、 色々と混乱しそうだから、俺は使わない。
- 156 名前:nobodyさん mailto:sage [2008/05/04(日) 16:40:15 ID:???]
- どうやったら、変数に何も値が入ってないってことを確かめられるの?
- 157 名前:nobodyさん mailto:sage [2008/05/04(日) 18:06:42 ID:???]
- $hensu or print "ナイヨ(><)\n";
- 158 名前:nobodyさん mailto:sage [2008/05/04(日) 18:19:28 ID:???]
- $hensu = 0;
で破綻するので>>157はデタラメ。 defined($hensu) or print "ナイヨ(><)\n"; が正解。
- 159 名前:nobodyさん mailto:sage [2008/05/04(日) 19:26:18 ID:???]
- >>156にとっての「何も値が入ってない」によって答えが変わるでしょ。
my $var = ''; # これが「長さ0の文字列が入ってる」のか「何も入ってない」のか print "どっちが正解かわかんないんです(><)\n" if $var xor defined($var);
- 160 名前:nobodyさん mailto:sage [2008/05/04(日) 22:15:41 ID:???]
- 三値論理
- 161 名前:nobodyさん mailto:sage [2008/05/05(月) 18:10:43 ID:???]
- use Socketと書かなくても、gethostbyname関数が使えるのはなぜ?
ドメインを入力してIPアドレスを出力するだけの、単純なスクリプトを作りたいので
- 162 名前:nobodyさん mailto:sage [2008/05/07(水) 13:21:17 ID:???]
- 記事の中の
a href=" URL " もしくは img src=" URL " のURLが相対パスになっていた時に絶対パスに変換されるようにするには どうしたらいいですか?
- 163 名前:nobodyさん mailto:sage [2008/05/07(水) 19:46:59 ID:???]
- HTMLタグに「絶対パス」を入れても表示出来ないよ
- 164 名前:nobodyさん [2008/05/07(水) 21:26:07 ID:fDlQQ0EM]
- いまapache?でcgiのテストをしてるんですが。
長居のでソースは遠慮するんですが、そのcgiを指定するとPLファイルをブラウザで表示したみたいに自分の打ったテキストがそのまま出てしまうのですが、このとき考えられるミスを教えて下さい。
- 165 名前:nobodyさん mailto:sage [2008/05/07(水) 22:20:31 ID:???]
- >>161
use strict; use warnings; #use Fcntl qw(:flock); use Socket; open(LOG, '>', 'test.tmp') or die $!; flock(LOG, 2); #flock(LOG, LOCK_EX); print LOG scalar gethostbyaddr(pack('C4', 127, 0, 0, 1), 2), "\n"; #print LOG scalar gethostbyaddr(pack('C4', 127, 0, 0, 1), AF_INET), "\n"; close(LOG); use Fcntl qw(:flock) や use Socket しなくても flock() も gethostbyaddr() もつかえる。ふしぎ! >>162 よくわかんないけど $ENV{'SERVER_NAME'} とか $ENV{'SCRIPT_NAME'} とか ttp://search.cpan.org/~gaas/URI-1.36/URI.pm ここの URI->new_abs() とかを眺めるといいんじゃないかと。 >>164 ・自鯖板ネタなのにここに書いてる。 ・よくわかんないまま共用レン鯖でテストしてる。 ・ファイル名が なんたら.cgi だけど .htaccess で .cgi が text/plain になるよう仕込んである。 ・ファイル名が なんたら.pl で実行属性がついてない。 ・実は Perl と無関係な問題。 …1つぐらいは当たってると思います。
- 166 名前:nobodyさん mailto:sage [2008/05/07(水) 22:27:20 ID:???]
- これじゃね?→Content-Type: text/html;
- 167 名前:nobodyさん [2008/05/07(水) 22:44:41 ID:fDlQQ0EM]
- >>165
あ、すいません。自鯖板ネタなんだと思います。 そんな板があると知らなかったので・・・何回か色々とググったら、たぶんapacheの設定ミスみたいです。 見直してみます。 ご迷惑おかけしました。 >>166 そっちは試してみたので。スクリプト的にはたぶん問題ないです。 helloworldレベルの奴でも出なかったし、本丸写しでも無理でしたし。 ありがとうございました。
- 168 名前:nobodyさん mailto:sage [2008/05/08(木) 00:03:38 ID:???]
- $HOGE = ABC
DEF123 を ABC123 に置き換えたい時は $str =~ s/DEF123/$HOGE123/g; では駄目ですよね? どうしたらいいですか?
- 169 名前:nobodyさん mailto:sage [2008/05/08(木) 00:16:04 ID:???]
- $str =~ s/DEF123/${HOGE}123/g;
- 170 名前:nobodyさん mailto:sage [2008/05/08(木) 00:50:06 ID:???]
- >>169
ありがとうございます。うう…
- 171 名前:nobodyさん mailto:sage [2008/05/08(木) 10:10:29 ID:???]
- >>161
組み込み関数だから使える。
- 172 名前:161 mailto:sage [2008/05/08(木) 18:42:19 ID:???]
- >>171
thx
- 173 名前:nobodyさん mailto:sage [2008/05/08(木) 20:29:16 ID:???]
- ABC/DFG/HIJ/../ → ABC/DFG/
こういうのが こういう感じで置き換わるように $str =~ s/\/[^\/]*\/\.\.\//\//g; こうやってみたのですが ABC/DFG/HIJ/../../ → ABC/DFG/../ こういうのは こうなっちゃいます ABC/DFG/HIJ/../../ → ABC/ こうなってくれるにはどうしたらいいですか?
- 174 名前:nobodyさん mailto:sage [2008/05/08(木) 20:46:01 ID:???]
- ../ を消すだけじゃ駄目?
$str =~ s{\.\./}{}g; こんな風に。
- 175 名前:173 mailto:sage [2008/05/08(木) 20:59:09 ID:???]
- >>174
../ が前方を巻き込んで消えるようにしたいのです 一行では無理でしょうか
- 176 名前:nobodyさん mailto:sage [2008/05/08(木) 21:06:50 ID:???]
- ごめんなさい。
完全に勘違いしてました。 こういうこと? $str =~ s{[^/]*/(\.\./)+}{}g;
- 177 名前:173 mailto:sage [2008/05/08(木) 21:22:58 ID:???]
- >>176
すみませんお手数おかけして… それだと ABC/DFG/HIJ/../ の時も ABC/DFG/HIJ/../../ の時も ABC/DFG/ になってしまいます ABC/DFG/HIJ/../../ の時には ABC/ になるようにしたいのです
- 178 名前:nobodyさん mailto:sage [2008/05/08(木) 21:29:39 ID:???]
- 正規表現でどうにかする方向は>>176さんに任せつつ。
>>173 use File::Spec; print File::Spec->canonpath('ABC/DFG/HIJ/../../'); # ABC 末尾のデリミタが消えたりしますが。
- 179 名前:176 mailto:sage [2008/05/08(木) 21:40:41 ID:???]
- 質問の趣旨がようやくわかった。ファイルパスの操作か。
こんなことしてどうするんだろうとか不思議に思ってた。 なんか寝ぼけてるな。 これを正規表現でどうにかしたのをみてみたい。
- 180 名前:173 mailto:sage [2008/05/08(木) 22:04:20 ID:???]
- わ、最初からファイルパスと言うべきでした。すみません。
RSS出力のCGIをいじってて、文章中にあるリンクやimgタグがRSSフィードでは 絶対パスでないと働かないので、相対パスになってた時に絶対パスに置き換わるように したかったのです。 $RSS_BASE_URI = "$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}"; $RSS_BASE_URI2 = &GetDir($RSS_BASE_URI); 元のCGIにこれがあるので、 $str =~ s/href=\"/href=\"$RSS_BASE_URI2/g; $str =~ s/src=\"/src=\"$RSS_BASE_URI2/g; $str =~ s/http\:\/\/.*?\/http\:\/\//http\:\/\//g; $str =~ s/\/\.\//\//g; $str =~ s/\/[^\/]*\/\.\.\//\//g; こうやってみたんですが…(見にくくてすみません) こういう書き方をするようなものではないのでしょうか? >>178 すみません、記事の中からURLを抜き出して当てはめるにはどうすれば…
- 181 名前:178 mailto:sage [2008/05/08(木) 22:46:06 ID:???]
- my $str = 'ABC/DFG/HIJ/../.././././';
while (index($str, './') + 1) { $str =~ s!/\./!/!g; $str =~ s!/[^/]*/\.\./!/!g; } print $str; ループなしでどうやるんだろう。 >>180 最初から「>>162です」と言って欲しかった気がする165です。 $RSS_BASE_URI2 の正体等々よくわかんないので、下記を見ながらごにょごにょしてください。 use URI; print URI->new_abs('../../images/spacer.gif', 'example.com/cgi-bin/test/'); # example.com/images/spacer.gif
- 182 名前:nobodyさん mailto:sage [2008/05/08(木) 22:46:10 ID:???]
- >>180
横レス。 モジュールがあるか?と静観してたんだが、こっちに移動してきたのかw my $RSS_BASE = '/ABC/DFG/HIJ/' ; # 絶対パス my $path = '../../abc/efg/' ; # 相対パス my $cnt = $path =~ s{\.\./}{}g ; # ../ の数把握と同時に消去。 $RSS_BASE =~ s/([^\/]*?\/){$cnt}$// ; # 絶対パスから../の回数分のディレクトリを削る。 print $RSS_BASE . $path . "\n" ; # プリント。
- 183 名前:nobodyさん mailto:sage [2008/05/08(木) 22:47:32 ID:???]
- ああ、やっぱモジュールがあったのねorz...
おまけにタワゴト書いてるし。
- 184 名前:173 mailto:sage [2008/05/08(木) 23:36:51 ID:???]
- >>181
ごめんなさい。>>162です。 記事の中から該当部分を抜き出してまた戻す方法も分からない絶望的分からなさだったので 教えていただいたものを使うことができず、恥ずかし悲しくなりながら単純な置換だけでなんとか やれないかと別の方向にごにょごにょしちゃってました。 もう少し勉強してそれを使えるようにがんばってみます。ありがとうございました。 >>182 移動してきてました…。 自分が知らないだけでこれもきっと一行ですむのだろうと思ってたら、そうでもないようですね。 勉強してなんとか単純置換以外も使えるようになろうと思います。ありがとうございました。
- 185 名前:nobodyさん mailto:sage [2008/05/09(金) 04:31:31 ID:???]
- モジュール使えで終了な話ではあるけどワンライナーでかけないのが悔しいorz
- 186 名前:nobodyさん mailto:sage [2008/05/09(金) 07:34:10 ID:???]
- せいぜい短くしても
$str="ABC/DFG/HIJ/../../././abc/efg" ; 1 while $str =~ s{([^/]*?/\.\./|\./)}{} ; print $str . "\n" ; 程度だね。
- 187 名前:nobodyさん [2008/05/10(土) 18:46:41 ID:jhS0+1hl]
- テストしても何も表示されないんですが何がおかしいのでしょう?
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<html>\n"; print "<head><title>あ</title></head>\n"; print "<body>$kao<br>$body<br>$asi</body>\n"; print "</html>"; タイトルすら出てくれないんです。 たぶん初歩的なミスだと思うのですが・・・
- 188 名前:nobodyさん mailto:sage [2008/05/10(土) 19:17:45 ID:???]
- ヘッダは?
- 189 名前:nobodyさん [2008/05/10(土) 20:49:00 ID:jhS0+1hl]
- print "Content-type: text/html\n\n";
これですか?
- 190 名前:173 mailto:sage [2008/05/10(土) 21:11:01 ID:???]
- >>186
あ、一行でもできたんですね! ありがとうございます、動きました! URLを抽出してモジュールに渡すのに悪戦苦闘してましたが、 このままできないのもくやしいのでそっちもがんばってきます。
- 191 名前:nobodyさん mailto:sage [2008/05/10(土) 23:31:35 ID:???]
- >>189
その行を print "<!DOCTYPE〜 の行の前に書いてる? あとエラーじゃなくて真っ白? ソースも?
- 192 名前:nobodyさん [2008/05/11(日) 12:00:02 ID:/WAyhnOg]
- >>191
はい。この行を書いて、一行改行してhtmlソースです。 ANHTTPDで真っ白でした。 前に$kaoとかを定義づけてるんですけども(ifで)それのミスなら500が出るかな、と思ったので。
- 193 名前:181 mailto:sage [2008/05/11(日) 17:10:05 ID:???]
- >>190
「くやしいのでモジュール使うやりかたでもがんばってみる」方のようなので ごにょごにょするときの参考にしてみてください。 use URI; # URIモジュールさん召喚。 my $RSS_BASE_URI2 = 'example.com/my/rss/generator/'; # 例。 my $str = join('', <DATA>); # __DATA__ 以下の割箸をまとめて $str に袋詰めします。 # >>180に基づいてみました。 $str =~ s/href="([^"]+?)"/'href="'. URI->new_abs($1, $RSS_BASE_URI2) .'"'/eg; $str =~ s/src="([^"]+?)"/'src="'. URI->new_abs($1, $RSS_BASE_URI2) .'"'/eg; print $str, "\n"; # 出力: # <img src="example.com/diary/img/test.jpg"> # <a href="example.com/diary/latest">latest</a> # <a href="example.com/test/script.cgi">Test Script</a> __DATA__ <img src="../../../diary/././img/././test.jpg"> <a href="../../../diary/latest">latest</a> <a href="example.com/test/script.cgi">Test Script</a>
- 194 名前:193 mailto:sage [2008/05/11(日) 17:25:08 ID:???]
- 事故レスれす。
> $str =~ s/href="([^"]+?)"/'href="'. URI->new_abs($1, $RSS_BASE_URI2) .'"'/eg; > $str =~ s/src="([^"]+?)"/'src="'. URI->new_abs($1, $RSS_BASE_URI2) .'"'/eg; $str =~ s/(href="|src=")([^"]+?)"/$1. URI->new_abs($2, $RSS_BASE_URI2) .'"'/eg;
- 195 名前:nobodyさん mailto:sage [2008/05/11(日) 20:48:25 ID:???]
- >>192
ANHTTPDの設定だと思うけどなー。 「ANHTTPD 真っ白」でぐぐったらなんか色々出てきたから やってみたら
- 196 名前:nobodyさん mailto:sage [2008/05/12(月) 04:25:47 ID:???]
- ブラウザを使わずにBookOFなどの商用サイトに接続して本を検索したり注文したりする
Perlで可能でしょうか? 可能でしたら具体的に教えていただけないでしょうか
- 197 名前:nobodyさん mailto:sage [2008/05/13(火) 03:27:45 ID:???]
- そのサイトが検索用にAPIでも提供していれば
コマンドラインからの実行で検索は出来るはず(Amazon等) 注文までは知らね
- 198 名前:nobodyさん mailto:sage [2008/05/13(火) 05:33:31 ID:???]
- >>196,>>197
別にAPIとか対応して無くても、Formで受け付けてくれるなら(JavascriptやFlashでなければ) 気合さえあれば、検索も注文も出来る。
- 199 名前:190 mailto:sage [2008/05/13(火) 07:31:33 ID:???]
- >>193
ありがとうございます、参考に……って回答だった! 自分のとこでも動きました。こんなに簡潔になるなんて感激です。 ~ s/ 以下にも入れられたんですね… 一回やってエラーが出たので(多分何か抜けてた) 別の場所で動かしたそれを元に戻す過程がいるのかと 甚だしい勘違いをしてました。 何一つ自分で解決できなかったけどなぜか大きく成長したような気がしました 本当にありがとうございます。 CGIでやってみたいことはまだまだあるので次はgoogle的なもので 解決できるようになりたいものです。
- 200 名前:nobodyさん mailto:sage [2008/05/14(水) 02:23:53 ID:???]
- >>198
まあ、やって出来ない事は無いとは思うけど 気合いってよりは無駄な作業が多くなるでしょ 検索して返ってくるのはHTMLな訳だからそこから必要な物を切り出して さらにフォームを探して送信する内容を整えて・・・
- 201 名前:nobodyさん mailto:sage [2008/05/14(水) 04:27:20 ID:???]
- >>200
そう、だから気合がいる。昔そんなのを書いてて、 「こんなん苦労して書く必要あんのかよ?しかも1サイトにしか通用しねえし・・」 とか思ったこともあるけど、気合(笑)でカバーした。あの頃は若かった。
- 202 名前:196 mailto:sage [2008/05/14(水) 04:44:38 ID:???]
- みなさん情報ありがとうございます
ブラウザ無しでできるって事ですね ブラウザ無しでデータをやり取りすると速いんじゃないかと思うのですが 実際どうでしょうか? 込み合ってるサイトもスイスイですか?
- 203 名前:nobodyさん mailto:sage [2008/05/14(水) 05:50:58 ID:???]
- >>202
それは、相手のサーバーの処理能力とか、回線状態による。 まあそのページが、Javascriptやら画像やらフレームやらで大変込み入った内容なら ブラウザでレンダリングするよりかは早くなるかも知れん。 (向こうのレスポンスについては、こっちからじゃなんもでけん) けど、HTMLを正規表現等でパースして、ifで場合分けして、Formに内容セットしてとかしてたら、 はっきり言ってブラウザでクリックしたりしてするのの楽さと比べて、そんな恩恵あるとは思えん。 なにより、そうゆうコード書くのにかなり気合を要する(w)。 まあやるのは自由だけど・・・。 DDosアタックでも仕掛けるのなら話は別だが・・。
- 204 名前:nobodyさん mailto:sage [2008/05/14(水) 06:19:24 ID:???]
- スイスイ具合は「画像オフ・JSオフ・CSSオフ」のブラウザと大差ないよ。レンダリングの有無だけ。
「Perlで書けばスイスイ!」だけを期待してるんだったら、やめれと。 でも、HTMLをパースしてCookieも食べて、フォーム仕立てて送信、お返事をパース…の繰り返しを書いて 意地でもPerlで注文してやる、というマゾな考えならそれはそれでありなのかもね。
- 205 名前:nobodyさん mailto:sage [2008/05/16(金) 00:52:53 ID:???]
- 近所の古本屋さんでオライリーPerl リソースキット UNIX版Xと記載されたperlの解説本を発見!
定価15000円らしいのだが2000円の値札が付いている CD付属でそのCDは未開封 パラパラッと立ち読みしたらWindows環境にも通用しそうな気がするんですよ 自分はWindows環境なんだけどこの本は勉強なりそうですか? 付録のCDはWindows環境でも使えそうですか? ご存知の方お願いします
- 206 名前:nobodyさん mailto:sage [2008/05/16(金) 12:23:26 ID:???]
- >>205
それ、解説書じゃなくて、CPANにある モジュールのドキュメントを和訳しただけのものだから。 しかも10年前のものだから。 www.oreilly.co.jp/out/presuni/
- 207 名前:nobodyさん mailto:sage [2008/05/16(金) 16:32:25 ID:???]
- >>206さん
ありがとうです UNIXと記載がありますが2000円捨てるつもりで買ってみようかと思います 他にも古い本でプログラミングperlUNIXとか600円で売っていたんですよ Windowsで動くのか心配だけど一緒に買ってみます
- 208 名前:nobodyさん mailto:sage [2008/05/16(金) 16:37:16 ID:???]
- XPのためにWin98の本買うようなもの
最新のドキュメントを探したほうがいい 古いの見ても混乱するだけ
- 209 名前:nobodyさん mailto:sage [2008/05/16(金) 16:45:50 ID:???]
- >>208さん
そうだなー そう言われればその通りですよね やっぱり見合わせます ありがとうございます
- 210 名前:nobodyさん mailto:sage [2008/05/16(金) 17:18:48 ID:???]
- Perlほど解説本なしでネットでまかなえるプログラミング言語はないだろう
- 211 名前:nobodyさん mailto:sage [2008/05/19(月) 01:43:18 ID:???]
- コマンドプロンプトからユーザエージェントして返ってきた文字列が
英数字以外は文字化けしてます コマンドプロンプト内で読めるように教えてください jcode.plもエラーになります
- 212 名前:nobodyさん mailto:sage [2008/05/19(月) 01:52:01 ID:???]
- >>211
意味がわかりません。 > コマンドプロンプトからユーザエージェントして とはどうゆうことですか?
- 213 名前:nobodyさん mailto:sage [2008/05/19(月) 02:16:27 ID:???]
- わかんないならスルーしろよ
なんで答えるの? 教えたらわかりそうなのか?
- 214 名前:nobodyさん mailto:sage [2008/05/19(月) 02:24:16 ID:???]
- >>213
いやあ、多分LWP-UserAgentのことかなとエスパー。 ほんで取ってきたページのソースがcp932じゃないから コマンドプロンプトで文字化け。 実は俺も昔やったことがある。 だから聞いてみた。
- 215 名前:nobodyさん mailto:sage [2008/05/19(月) 02:26:22 ID:???]
- >>214
ぅぉぉぉー ヽ( ゚д゚)ノヽ(゚д゚ )ノ ぅぉぉぉー わかってんじゃん それそれ cp932をも少し詳しく
- 216 名前:nobodyさん mailto:sage [2008/05/19(月) 02:27:15 ID:???]
- 「CLI で LWP を飛ばしたら、CP932 じゃない文字列が返ってきます」まではわかるから、
もう一段階進んで 「jcode.pl は UTF-8 を知らんぞ」でいいのかな。
- 217 名前:216 mailto:sage [2008/05/19(月) 02:29:01 ID:???]
- つーか、質問者さんがその態度で通すんだったら移動してくださいな。
くだらない質問でもど偉そうに聞いていいスレ pc11.2ch.net/test/read.cgi/php/1158647441/
- 218 名前:nobodyさん mailto:sage [2008/05/19(月) 02:40:29 ID:???]
- >>215
次からは、もちっと質問を詳しく。 ほいで解決方だけど、 perl 実行したいスクリプト.pl > kekka.html とでもして、そのファイルを各種文字コードで開けるエディタ(秀丸、TeraPad等)で開く もし持ってなければ、とりあえずIEで開けばなんの文字コードかはわかる。 or use Encode;(5.8以降標準で入ってる) で文字コードをcp932に変換。 >>216 その可能性もあるかもだけど、多分、もともとのページの文字コードが分かってなかったら使えない。 (と思ったが、自動判別出来るんだっけ?もう長いこと使ってないから忘れちまった。) あと、$response()->as_string() あたりでサーバーからのレスポンスヘッダが読めるから、 それでそのページの文字コードを判別しい。(か、もしくはhtmlの中の<metaを探すか)
- 219 名前:nobodyさん mailto:sage [2008/05/19(月) 02:50:31 ID:???]
- >>218
自動判別は (jcode.pl|Jcode.pm|Encode::Guess) な感じでいちおうあるよ。 # jcode.pl は UTF-8 に対応してないので、その辺はどうにもならない。 どれも「当たるとは限らん」ところが大事ですけど。
- 220 名前:nobodyさん mailto:sage [2008/05/19(月) 02:50:47 ID:???]
- >>217
気分悪いならスルーでいいよ あなた個人を攻撃してるわけでもないのに 態度云々言われたらこっちが気分悪い 取り合えず2chには向いてないと思うよ これからもし私を見かけてもスルーしてね おちょくってるわけでもないのに変な奴だ >>218 詳しくありがとう
- 221 名前:nobodyさん mailto:sage [2008/05/19(月) 03:23:45 ID:???]
- 例の人が久々に来てたのか。エスパーたち、乙。
- 222 名前:nobodyさん mailto:sage [2008/05/19(月) 10:53:12 ID:???]
- またおまえかwww
- 223 名前:nobodyさん mailto:sage [2008/05/19(月) 15:45:54 ID:???]
- このバカ定期的に沸いてくるな
しかもあちこちに増殖している
- 224 名前:nobodyさん mailto:sage [2008/05/19(月) 16:40:56 ID:???]
- ふーん
人を馬鹿扱いできるほどお前稼いでるの? 税金なんぼ払ってるかいってみ
- 225 名前:nobodyさん mailto:sage [2008/05/19(月) 16:59:25 ID:???]
- 失せろ
- 226 名前:nobodyさん mailto:sage [2008/05/19(月) 17:15:21 ID:???]
- キモイ
- 227 名前:nobodyさん mailto:sage [2008/05/19(月) 18:46:02 ID:???]
- 稼いでる = 馬鹿でない
上の理論が成り立つと思ってるマヌケさ
- 228 名前:nobodyさん mailto:sage [2008/05/19(月) 18:49:18 ID:???]
- なんか自分を凄く見せたがる為に銭金の話をしたがる馬鹿いるよな
森伊蔵云々、ディナー云々 中学生のホラ自慢みたいw
- 229 名前:nobodyさん mailto:sage [2008/05/19(月) 19:09:24 ID:???]
- もう構うなってw
- 230 名前:nobodyさん mailto:sage [2008/05/19(月) 21:49:23 ID:???]
- みんなお疲れ様
わかる人お願いします ソースコードutf-8で保存してから実行してみた アクティブパール5.88 WindowsXp ここからどうすれば日本語になるの? use LWP::UserAgent; use utf8; use encoding 'cp932'; $ua = LWP::UserAgent->new(); $req = HTTP::Request->new("GET", "www.yahoo.co.jp/"); $res = $ua->request($req); print $res->content();
- 231 名前:nobodyさん mailto:sage [2008/05/20(火) 04:17:01 ID:???]
-
use LWP; use Encode; print encode('cp932',decode('utf8',LWP::UserAgent->new()->get('www.yahoo.co.jp')->content()));
- 232 名前:nobodyさん mailto:sage [2008/05/20(火) 04:28:46 ID:???]
- >>231
私の環境ではエラーになっちゃったけど 物凄く参考になった ありがとう
- 233 名前:nobodyさん mailto:sage [2008/05/20(火) 04:36:24 ID:???]
- >>231
できました! スペースの文字コードを半角スペースに変えたらエラーにならないで実行できました 見事に日本語になってます ありがとうございました!
- 234 名前:nobodyさん mailto:sage [2008/05/20(火) 15:30:39 ID:???]
- >>231をhtmlファイルで保存したいんだけどできない
すいませんまた教えてください open(FH, '>>', "yahoolog001.html") or die "Cannot open content()!"; flock(FH, 2); print FH qq|content()\n|;
- 235 名前:nobodyさん mailto:sage [2008/05/20(火) 16:51:57 ID:???]
- >>234
231をyahoo_get.plとでも名前付けて保存して、 perl yahoo_get.pl > yahoo001.html
- 236 名前:nobodyさん mailto:sage [2008/05/20(火) 17:29:08 ID:???]
- >>235何回もすいません
どうすればいいのか? 下記のような状況です open(FH, '>>', "yahoolog001.html") or die "Cannot open yahoo001.html!"; flock(FH, 2); perl yahoo_get.pl > yahoo001.html; ----------------- Can't locate object method "perl" via package "yahoo_get" (perhaps you forgot to load "yahoo_get"?) at yahoo-tes001.pl line 6.
- 237 名前:nobodyさん mailto:sage [2008/05/20(火) 18:28:08 ID:???]
- >>235
スクリプト内に入れてやれよww print FH encode('cp932',decode('utf8',LWP::UserAgent->new()->get('www.yahoo.co.jp')->content()));
- 238 名前:nobodyさん mailto:sage [2008/05/20(火) 18:38:22 ID:???]
- >>236
違う違う、235のは、コマンドラインから実行するんであって、perlスクリプトの中に書くんではない。 >>234とか見てると、ファイルのオープンとかはあってるけど、 オブジェクトとか、クラスメソッドとかのことを良く分かってないようなので、 とりあえず一行で書けるのにしてみた。 それから、君は>>211や>>230と同じ人(?、かどうかは定かではないが) コマンドプロンプトから実行してるなら、リダイレクトや標準出力、標準入力等についてもある程度は理解がないと。 (Perlではないんで、入門書とかにはあんまり書いてないか。でも基本ってか常識レベルなんで、 わかってないとこれからしんどいよ。逆にわかってくると、いちいちスクリプトの中でやらなくていいことが増えるんで 書くのが楽になるし、理解も深まる。)
- 239 名前:nobodyさん mailto:sage [2008/05/20(火) 18:42:43 ID:???]
- wktk
- 240 名前:nobodyさん mailto:sage [2008/05/20(火) 21:15:41 ID:???]
- >>237さん、>>238さん、御二方ともお忙しい中ありがとうございます
FH付けると何故かまた文字化けになってしまい苦戦していました よくわかりませんがcp932を止めたら文字化けが亡くなりました アドバイスのお陰で2つの方法で保存させることが出来ました しかも昨日までは取得した最後の1024バイトしか表示されなかったのですが ページ全部を取得できていますありがとうございました ↓スクリプトだけで保存でたソース --------------- use LWP; use Encode; open(FH, '>>', "yahoolog001.html") or die "Cannot open yahoo_get.pl!"; flock(FH, 2); print FH LWP::UserAgent->new()->get('www.yahoo.co.jp')->content(); ↓コマンドラインから保存できたソース -------------- use LWP; use Encode; print LWP::UserAgent->new()->get('www.yahoo.co.jp')->content(); ここからログインのテストしたいので またお願いするかもしれませんが その時はよろしくお願い致します >>238さん 勉強方法詳しくありがとうございました 標準入出力の解説書なかなか見当たらないです 手持ちの解説書で標準入出力を解説しているのは 「perlデータマンジング」という本だけです 大変わかりやすく良書なのですが紙面の関係上さわり程度なのが残念です 何かお勧めの解説書があれば教えて頂ければ嬉しいです ありがとうございました
- 241 名前:nobodyさん mailto:sage [2008/05/22(木) 14:07:57 ID:???]
- お世話になります
httpsでログイン可能な簡易ブラウザサンプルどこかないでしょうか? 自分が調べたところ2001年にある雑誌が付録で付けていたようなのですが 絶版になり各方面探しても見当たりませんでした やりたいことはhttps接続での送受信です お心当たりのある方よろしくお願い致します
- 242 名前:nobodyさん mailto:sage [2008/05/22(木) 14:12:19 ID:???]
- LPW
- 243 名前:nobodyさん mailto:sage [2008/05/22(木) 14:12:53 ID:???]
- 間違えた笑
LWP
- 244 名前:nobodyさん [2008/05/23(金) 20:25:12 ID:VktSXUAF]
- sで一気にいくつかのものを変換する方法ありますか?
たとえるならあいうえおという文のあとおをかとこにおきかえたいんです。
- 245 名前:nobodyさん mailto:sage [2008/05/24(土) 02:20:54 ID:???]
- trじゃダメなの?
- 246 名前:nobodyさん mailto:sage [2008/05/26(月) 19:32:51 ID:???]
- どもお世話になります
あれから色々調べているんですけど ログインや検索やセレクトメニューの選択やボタンクリックなど 具体的なサンプルってないですね もしかしてperlで出来ないですか? 結局HACKER本買い捲ったんだけど みんなHTMLの取得までなんですよ そこからセレクトメニューを選んだりOKボタンをクリックするとか できないんだろうか?
- 247 名前:nobodyさん mailto:sage [2008/05/26(月) 19:36:22 ID:???]
- お前は何を言っているんだ
|

|