くだすれPerl(超初心者用)2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/03/03(月) 05:07:32ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0176nobodyさん
2008/05/08(木) 21:06:50ID:???完全に勘違いしてました。
こういうこと?
$str =~ s{[^/]*/(\.\./)+}{}g;
0177173
2008/05/08(木) 21:22:58ID:???すみませんお手数おかけして…
それだと
ABC/DFG/HIJ/../ の時も
ABC/DFG/HIJ/../../ の時も
ABC/DFG/ になってしまいます
ABC/DFG/HIJ/../../ の時には
ABC/ になるようにしたいのです
0178nobodyさん
2008/05/08(木) 21:29:39ID:???>>173
use File::Spec;
print File::Spec->canonpath('ABC/DFG/HIJ/../../'); # ABC
末尾のデリミタが消えたりしますが。
0179176
2008/05/08(木) 21:40:41ID:???こんなことしてどうするんだろうとか不思議に思ってた。
なんか寝ぼけてるな。
これを正規表現でどうにかしたのをみてみたい。
0180173
2008/05/08(木) 22:04:20ID:???RSS出力のCGIをいじってて、文章中にあるリンクやimgタグがRSSフィードでは
絶対パスでないと働かないので、相対パスになってた時に絶対パスに置き換わるように
したかったのです。
$RSS_BASE_URI = "http://$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を抜き出して当てはめるにはどうすれば…
0181178
2008/05/08(木) 22:46:06ID:???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', 'http://example.com/cgi-bin/test/');
# http://example.com/images/spacer.gif
0182nobodyさん
2008/05/08(木) 22:46:10ID:???横レス。
モジュールがあるか?と静観してたんだが、こっちに移動してきたのか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" ; # プリント。
0183nobodyさん
2008/05/08(木) 22:47:32ID:???おまけにタワゴト書いてるし。
0184173
2008/05/08(木) 23:36:51ID:???ごめんなさい。>>162です。
記事の中から該当部分を抜き出してまた戻す方法も分からない絶望的分からなさだったので
教えていただいたものを使うことができず、恥ずかし悲しくなりながら単純な置換だけでなんとか
やれないかと別の方向にごにょごにょしちゃってました。
もう少し勉強してそれを使えるようにがんばってみます。ありがとうございました。
>>182
移動してきてました…。
自分が知らないだけでこれもきっと一行ですむのだろうと思ってたら、そうでもないようですね。
勉強してなんとか単純置換以外も使えるようになろうと思います。ありがとうございました。
0185nobodyさん
2008/05/09(金) 04:31:31ID:???0186nobodyさん
2008/05/09(金) 07:34:10ID:???$str="ABC/DFG/HIJ/../../././abc/efg" ;
1 while $str =~ s{([^/]*?/\.\./|\./)}{} ;
print $str . "\n" ;
程度だね。
0187nobodyさん
2008/05/10(土) 18:46:41ID:jhS0+1hlprint "<!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>";
タイトルすら出てくれないんです。
たぶん初歩的なミスだと思うのですが・・・
0188nobodyさん
2008/05/10(土) 19:17:45ID:???0189nobodyさん
2008/05/10(土) 20:49:00ID:jhS0+1hlこれですか?
0190173
2008/05/10(土) 21:11:01ID:???あ、一行でもできたんですね!
ありがとうございます、動きました!
URLを抽出してモジュールに渡すのに悪戦苦闘してましたが、
このままできないのもくやしいのでそっちもがんばってきます。
0191nobodyさん
2008/05/10(土) 23:31:35ID:???その行を print "<!DOCTYPE〜 の行の前に書いてる?
あとエラーじゃなくて真っ白? ソースも?
0192nobodyさん
2008/05/11(日) 12:00:02ID:/WAyhnOgはい。この行を書いて、一行改行してhtmlソースです。
ANHTTPDで真っ白でした。
前に$kaoとかを定義づけてるんですけども(ifで)それのミスなら500が出るかな、と思ったので。
0193181
2008/05/11(日) 17:10:05ID:???「くやしいのでモジュール使うやりかたでもがんばってみる」方のようなので
ごにょごにょするときの参考にしてみてください。
use URI; # URIモジュールさん召喚。
my $RSS_BASE_URI2 = 'http://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="http://example.com/diary/img/test.jpg">
# <a href="http://example.com/diary/latest">latest</a>
# <a href="http://example.com/test/script.cgi">Test Script</a>
__DATA__
<img src="../../../diary/././img/././test.jpg">
<a href="../../../diary/latest">latest</a>
<a href="http://example.com/test/script.cgi">Test Script</a>
0194193
2008/05/11(日) 17:25:08ID:???> $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;
0195nobodyさん
2008/05/11(日) 20:48:25ID:???ANHTTPDの設定だと思うけどなー。
「ANHTTPD 真っ白」でぐぐったらなんか色々出てきたから
やってみたら
0196nobodyさん
2008/05/12(月) 04:25:47ID:???Perlで可能でしょうか?
可能でしたら具体的に教えていただけないでしょうか
0197nobodyさん
2008/05/13(火) 03:27:45ID:???コマンドラインからの実行で検索は出来るはず(Amazon等)
注文までは知らね
0198nobodyさん
2008/05/13(火) 05:33:31ID:???別にAPIとか対応して無くても、Formで受け付けてくれるなら(JavascriptやFlashでなければ)
気合さえあれば、検索も注文も出来る。
0199190
2008/05/13(火) 07:31:33ID:???ありがとうございます、参考に……って回答だった!
自分のとこでも動きました。こんなに簡潔になるなんて感激です。
~ s/ 以下にも入れられたんですね…
一回やってエラーが出たので(多分何か抜けてた)
別の場所で動かしたそれを元に戻す過程がいるのかと
甚だしい勘違いをしてました。
何一つ自分で解決できなかったけどなぜか大きく成長したような気がしました
本当にありがとうございます。
CGIでやってみたいことはまだまだあるので次はgoogle的なもので
解決できるようになりたいものです。
0200nobodyさん
2008/05/14(水) 02:23:53ID:???まあ、やって出来ない事は無いとは思うけど
気合いってよりは無駄な作業が多くなるでしょ
検索して返ってくるのはHTMLな訳だからそこから必要な物を切り出して
さらにフォームを探して送信する内容を整えて・・・
0201nobodyさん
2008/05/14(水) 04:27:20ID:???そう、だから気合がいる。昔そんなのを書いてて、
「こんなん苦労して書く必要あんのかよ?しかも1サイトにしか通用しねえし・・」
とか思ったこともあるけど、気合(笑)でカバーした。あの頃は若かった。
0202196
2008/05/14(水) 04:44:38ID:???ブラウザ無しでできるって事ですね
ブラウザ無しでデータをやり取りすると速いんじゃないかと思うのですが
実際どうでしょうか?
込み合ってるサイトもスイスイですか?
0203nobodyさん
2008/05/14(水) 05:50:58ID:???それは、相手のサーバーの処理能力とか、回線状態による。
まあそのページが、Javascriptやら画像やらフレームやらで大変込み入った内容なら
ブラウザでレンダリングするよりかは早くなるかも知れん。
(向こうのレスポンスについては、こっちからじゃなんもでけん)
けど、HTMLを正規表現等でパースして、ifで場合分けして、Formに内容セットしてとかしてたら、
はっきり言ってブラウザでクリックしたりしてするのの楽さと比べて、そんな恩恵あるとは思えん。
なにより、そうゆうコード書くのにかなり気合を要する(w)。
まあやるのは自由だけど・・・。
DDosアタックでも仕掛けるのなら話は別だが・・。
0204nobodyさん
2008/05/14(水) 06:19:24ID:???「Perlで書けばスイスイ!」だけを期待してるんだったら、やめれと。
でも、HTMLをパースしてCookieも食べて、フォーム仕立てて送信、お返事をパース…の繰り返しを書いて
意地でもPerlで注文してやる、というマゾな考えならそれはそれでありなのかもね。
0205nobodyさん
2008/05/16(金) 00:52:53ID:???定価15000円らしいのだが2000円の値札が付いている
CD付属でそのCDは未開封
パラパラッと立ち読みしたらWindows環境にも通用しそうな気がするんですよ
自分はWindows環境なんだけどこの本は勉強なりそうですか?
付録のCDはWindows環境でも使えそうですか?
ご存知の方お願いします
0206nobodyさん
2008/05/16(金) 12:23:26ID:???それ、解説書じゃなくて、CPANにある
モジュールのドキュメントを和訳しただけのものだから。
しかも10年前のものだから。
http://www.oreilly.co.jp/out/presuni/
0207nobodyさん
2008/05/16(金) 16:32:25ID:???ありがとうです
UNIXと記載がありますが2000円捨てるつもりで買ってみようかと思います
他にも古い本でプログラミングperlUNIXとか600円で売っていたんですよ
Windowsで動くのか心配だけど一緒に買ってみます
0208nobodyさん
2008/05/16(金) 16:37:16ID:???最新のドキュメントを探したほうがいい
古いの見ても混乱するだけ
0210nobodyさん
2008/05/16(金) 17:18:48ID:???0211nobodyさん
2008/05/19(月) 01:43:18ID:???英数字以外は文字化けしてます
コマンドプロンプト内で読めるように教えてください
jcode.plもエラーになります
0213nobodyさん
2008/05/19(月) 02:16:27ID:???なんで答えるの?
教えたらわかりそうなのか?
0214nobodyさん
2008/05/19(月) 02:24:16ID:???いやあ、多分LWP-UserAgentのことかなとエスパー。
ほんで取ってきたページのソースがcp932じゃないから
コマンドプロンプトで文字化け。
実は俺も昔やったことがある。
だから聞いてみた。
0215nobodyさん
2008/05/19(月) 02:26:22ID:???ぅぉぉぉー ヽ( ゚д゚)ノヽ(゚д゚ )ノ ぅぉぉぉー
わかってんじゃん
それそれ
cp932をも少し詳しく
0216nobodyさん
2008/05/19(月) 02:27:15ID:???もう一段階進んで
「jcode.pl は UTF-8 を知らんぞ」でいいのかな。
0217216
2008/05/19(月) 02:29:01ID:???くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/
0218nobodyさん
2008/05/19(月) 02:40:29ID:???次からは、もちっと質問を詳しく。
ほいで解決方だけど、
perl 実行したいスクリプト.pl > kekka.html
とでもして、そのファイルを各種文字コードで開けるエディタ(秀丸、TeraPad等)で開く
もし持ってなければ、とりあえずIEで開けばなんの文字コードかはわかる。
or
use Encode;(5.8以降標準で入ってる)
で文字コードをcp932に変換。
>>216
その可能性もあるかもだけど、多分、もともとのページの文字コードが分かってなかったら使えない。
(と思ったが、自動判別出来るんだっけ?もう長いこと使ってないから忘れちまった。)
あと、$response()->as_string() あたりでサーバーからのレスポンスヘッダが読めるから、
それでそのページの文字コードを判別しい。(か、もしくはhtmlの中の<metaを探すか)
0219nobodyさん
2008/05/19(月) 02:50:31ID:???自動判別は (jcode.pl|Jcode.pm|Encode::Guess) な感じでいちおうあるよ。
# jcode.pl は UTF-8 に対応してないので、その辺はどうにもならない。
どれも「当たるとは限らん」ところが大事ですけど。
0220nobodyさん
2008/05/19(月) 02:50:47ID:???気分悪いならスルーでいいよ
あなた個人を攻撃してるわけでもないのに
態度云々言われたらこっちが気分悪い
取り合えず2chには向いてないと思うよ
これからもし私を見かけてもスルーしてね
おちょくってるわけでもないのに変な奴だ
>>218
詳しくありがとう
0221nobodyさん
2008/05/19(月) 03:23:45ID:???0222nobodyさん
2008/05/19(月) 10:53:12ID:???0223nobodyさん
2008/05/19(月) 15:45:54ID:???しかもあちこちに増殖している
0224nobodyさん
2008/05/19(月) 16:40:56ID:???人を馬鹿扱いできるほどお前稼いでるの?
税金なんぼ払ってるかいってみ
0225nobodyさん
2008/05/19(月) 16:59:25ID:???0226nobodyさん
2008/05/19(月) 17:15:21ID:???0227nobodyさん
2008/05/19(月) 18:46:02ID:???上の理論が成り立つと思ってるマヌケさ
0228nobodyさん
2008/05/19(月) 18:49:18ID:???森伊蔵云々、ディナー云々
中学生のホラ自慢みたいw
0229nobodyさん
2008/05/19(月) 19:09:24ID:???0230nobodyさん
2008/05/19(月) 21:49:23ID:???わかる人お願いします
ソースコードutf-8で保存してから実行してみた
アクティブパール5.88
WindowsXp
ここからどうすれば日本語になるの?
use LWP::UserAgent;
use utf8;
use encoding 'cp932';
$ua = LWP::UserAgent->new();
$req = HTTP::Request->new("GET", "http://www.yahoo.co.jp/");
$res = $ua->request($req);
print $res->content();
0231nobodyさん
2008/05/20(火) 04:17:01ID:???use LWP;
use Encode;
print encode('cp932',decode('utf8',LWP::UserAgent->new()->get('http://www.yahoo.co.jp')->content()));
0233nobodyさん
2008/05/20(火) 04:36:24ID:???できました!
スペースの文字コードを半角スペースに変えたらエラーにならないで実行できました
見事に日本語になってます
ありがとうございました!
0234nobodyさん
2008/05/20(火) 15:30:39ID:???すいませんまた教えてください
open(FH, '>>', "yahoolog001.html") or die "Cannot open content()!";
flock(FH, 2);
print FH qq|content()\n|;
0235nobodyさん
2008/05/20(火) 16:51:57ID:???231をyahoo_get.plとでも名前付けて保存して、
perl yahoo_get.pl > yahoo001.html
0236nobodyさん
2008/05/20(火) 17:29:08ID:???どうすればいいのか?
下記のような状況です
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.
0237nobodyさん
2008/05/20(火) 18:28:08ID:???スクリプト内に入れてやれよww
print FH encode('cp932',decode('utf8',LWP::UserAgent->new()->get('http://www.yahoo.co.jp')->content()));
0238nobodyさん
2008/05/20(火) 18:38:22ID:???違う違う、235のは、コマンドラインから実行するんであって、perlスクリプトの中に書くんではない。
>>234とか見てると、ファイルのオープンとかはあってるけど、
オブジェクトとか、クラスメソッドとかのことを良く分かってないようなので、
とりあえず一行で書けるのにしてみた。
それから、君は>>211や>>230と同じ人(?、かどうかは定かではないが)
コマンドプロンプトから実行してるなら、リダイレクトや標準出力、標準入力等についてもある程度は理解がないと。
(Perlではないんで、入門書とかにはあんまり書いてないか。でも基本ってか常識レベルなんで、
わかってないとこれからしんどいよ。逆にわかってくると、いちいちスクリプトの中でやらなくていいことが増えるんで
書くのが楽になるし、理解も深まる。)
0239nobodyさん
2008/05/20(火) 18:42:43ID:???0240nobodyさん
2008/05/20(火) 21:15:41ID:???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('http://www.yahoo.co.jp')->content();
↓コマンドラインから保存できたソース
--------------
use LWP;
use Encode;
print LWP::UserAgent->new()->get('http://www.yahoo.co.jp')->content();
ここからログインのテストしたいので
またお願いするかもしれませんが
その時はよろしくお願い致します
>>238さん
勉強方法詳しくありがとうございました
標準入出力の解説書なかなか見当たらないです
手持ちの解説書で標準入出力を解説しているのは
「perlデータマンジング」という本だけです
大変わかりやすく良書なのですが紙面の関係上さわり程度なのが残念です
何かお勧めの解説書があれば教えて頂ければ嬉しいです
ありがとうございました
0241nobodyさん
2008/05/22(木) 14:07:57ID:???httpsでログイン可能な簡易ブラウザサンプルどこかないでしょうか?
自分が調べたところ2001年にある雑誌が付録で付けていたようなのですが
絶版になり各方面探しても見当たりませんでした
やりたいことはhttps接続での送受信です
お心当たりのある方よろしくお願い致します
0242nobodyさん
2008/05/22(木) 14:12:19ID:???0243nobodyさん
2008/05/22(木) 14:12:53ID:???LWP
0244nobodyさん
2008/05/23(金) 20:25:12ID:VktSXUAFたとえるならあいうえおという文のあとおをかとこにおきかえたいんです。
0245nobodyさん
2008/05/24(土) 02:20:54ID:???0246nobodyさん
2008/05/26(月) 19:32:51ID:???あれから色々調べているんですけど
ログインや検索やセレクトメニューの選択やボタンクリックなど
具体的なサンプルってないですね
もしかしてperlで出来ないですか?
結局HACKER本買い捲ったんだけど
みんなHTMLの取得までなんですよ
そこからセレクトメニューを選んだりOKボタンをクリックするとか
できないんだろうか?
0247nobodyさん
2008/05/26(月) 19:36:22ID:???0248nobodyさん
2008/05/26(月) 20:03:33ID:???perlでなんでも出来るって言ってたじゃないですか?
0249nobodyさん
2008/05/26(月) 20:18:52ID:???0250nobodyさん
2008/05/26(月) 20:35:06ID:???もしかして>>196からの流れか?
ひょっとして画面が表示されて検索ワードが勝手に入力されてセレクトメニューが勝手に選択されてボタンが勝手に押されるとか
そういうのイメージしてる?
0251nobodyさん
2008/05/26(月) 20:47:35ID:???それそれ
それです!
perlで出来るんですよね?
今のところそのようなサンプル見当たらないんですよ
自動ソフトのスクリプトとかならOKボタンのクリックなどは
初歩の初歩インストール後5分後には覚えれるくらい簡単なんですけど
perlの場合参考になるような記述すら見当たらないんですよ
超凄いらしい解説本やオライリーのHACKシリーズやWEBシリーズを購入したんですけど
全然すごくない
OKボタンの1回すら出てこない
なんでもできないのですか?
0252nobodyさん
2008/05/26(月) 20:54:44ID:???0254nobodyさん
2008/05/26(月) 21:16:41ID:???WEB上での操作でやりたいことは大体教えてもらえましたよ
そのソフトを教えてくれる方たちはみんな普通にご存知でした
ただ遅いんですよorz
0.5秒で完結させたいんです
0255nobodyさん
2008/05/27(火) 02:30:31ID:???自分は>>198や>>201なんだけど、多分初めてじゃないと思うぞ(w)
>>253,254
君のやりたいことってのが、GUIのツールみたく目に見える感じで動いて行くってのなら多分ムリ。
(Tkとか使ったら無理やりにでもできるかも知れん。でも自分はGUI系はからっきしなんで、よくわからん)
そうでなくて、コマンドラインから、ブラウザで操作したことと同じ結果を得るってことなら可能。
どんな本や、どんなページ参考にしたかわからないけど、
ちょっと上の方に出てるLWPなんかの解説や、CPANのmanualなんかをじっくり読めば(リンクを少々辿らないダメだけど)、
検索フォームにワード仕込んだり、”OK”ボタンを押すってことにもたどりつきそうだけど・・・。
0256255
2008/05/27(火) 02:31:04ID:???use strict;
use LWP;
use Encode;
use HTML::Form;
my $pwd = `cd` . '\\';
my $cmd = 'C:\Program Files\Internet Explorer\iexplore.exe';
my $url = 'http://google.co.jp/';
my $lwp = LWP::UserAgent->new('agent'=>'mozilla3.9');
my $word; my $out1 = '1.html'; my $out2 = '2.html';
$word = shift() or $word = 'Perl'; $word =~ tr/\r\n//d;
my $html = $lwp->get($url)->content();
open(O1,">$out1"); print O1 $html; close(O1);
system qq("$cmd" "$pwd$out1");
my $form = HTML::Form->parse($html,$url);
$form->value('q' => encode('utf8',decode('cp932',$word)));
$form->value('ie'=> 'UTF-8');
my $response = $lwp->request($form->click);
my $out2 = '2.html';
open (O2,">$out2"); print O2 $response->content(); close(O2);
system qq("$cmd" "$pwd$out2");
これを、例えばtest_search.plとでも保存して、コマンドラインから、
perl test_search.pl "検索したいキーワード"
で実行すると、最初googleのTopが表示されて、それを閉じれば、そのワード(なければ”Perl”)での
検索結果がIEで表示される。(無理やり、画面遷移っぽくなるように作った。)
モジュールや関数の詳細は、自分で調べてくれ。
0257nobodyさん
2008/05/27(火) 03:14:05ID:???0258nobodyさん
2008/05/27(火) 03:29:45ID:???ありがとうございます
まさにそれなんです
GUIを使わないで送受信してみたいんです
お疲れのところわざわざサンプルまで作って頂き本当にありがとうございます!
頂いたサンプルを参考にログインとかもチャレンジしてみます
ありがとうございました
0259nobodyさん
2008/05/27(火) 14:08:14ID:???httpについて勉強するといいよ
0260nobodyさん
2008/05/28(水) 00:14:16ID:T0EpbUiqifで、たとえば$Aに\という文字列が含まれる場合、
\が含まれています。とするにはどうしたらいいんでしょうか?
if($A =~ \\)
{print "\\が含まれています"}
でいけますか?
0261nobodyさん
2008/05/28(水) 02:23:14ID:???0262nobodyさん
2008/05/31(土) 01:19:07ID:???この処理ってどういう意味なのでしょうか?
0263nobodyさん
2008/05/31(土) 02:02:14ID:???0264nobodyさん
2008/05/31(土) 15:52:59ID:???>$in{'ext'} = extfind($in{'orgname'});
サブルーチン(?) extfindの一番目の引数にハッシュ$in{'orgname'}の値をセットして
呼び出し、戻り値をハッシュ$in{'ext'}に代入。
>if(!$in{'ext'} && $in{'upfile'}){ &error(202); }
次にハッシュ$in{'ext'}の中の人が留守で、
尚且つハッシュ$in{'upfile'}の中の人が居る場合
恐らくエラーメッセージを表示するであろう
サブルーチンerrorの一番目の引数に"202"をセットして呼び出す。
ちなみに2行を一行にまとめると↓みたいになる
&error(202) if(!&extfind($in{'orgname'}) && $in{'upfile'});
0265264
2008/05/31(土) 15:54:58ID:???0266264
2008/05/31(土) 16:03:00ID:???オリジナルと大して変わらんけどこうやればいけるか
スレ汚しスマソ・・
0267nobodyさん
2008/05/31(土) 18:48:39ID:???という質問が出易くなりますな。
0268nobodyさん
2008/05/31(土) 20:14:45ID:???やっぱりperl難しいな・・・
http://sugachan.dip.jp/obsolete/snup/
拡張子合わずってログに記録したときは
ファイルをアップしないように改造しようかと
思ってるのだがなかなかできなくて。。。
$in{'ext'} = extfind($in{'orgname'}); if(!$in{'ext'} && $in{'upfile'}){ &error(202); }
を
$in{'ext'} = extfind($in{'orgname'}); if(!$in{'ext'}){ &error(202); }
に、しても普通にアップロードできてしまうし。。。どこがおかしい?
0269nobodyさん
2008/05/31(土) 20:40:29ID:???そこのアップローダの改造の質問 って前にもどこぞで見たなあ。
で「改造スレに行け」と言われてたハズだが?
ソースが好みじゃないのでやる気にならん。…改造スレ行けば?
0270nobodyさん
2008/06/04(水) 08:35:22ID:???テキストエリアに文字を入力して、投稿ボタンを押すとregist.cgiに渡されて書き込まれる仕組みです
このregist.cgiはmessageとcountという2つの引数をとるみたいなのですが、
ブラウザからURL:/aaa/bbb/regist.cgi?message=test&count=1
とやっても書き込まれませんでした
ちなみにFirefoxのTemperDataで確認したリクエストとレスポンス上ではベーシック認証は使われていませんでした
最終的にはperlで自動的に書き込んでくれるプログラムを書きたいのですが、まずはperlでこのregist.cgiに投稿するにはどうすればいいか教えてください
0271nobodyさん
2008/06/04(水) 10:11:46ID:???0272nobodyさん
2008/06/04(水) 14:06:46ID:???0273nobodyさん
2008/06/06(金) 23:21:44ID:???■ このスレッドは過去ログ倉庫に格納されています