[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 06/02 01:51 / Filesize : 211 KB / Number-of Response : 664
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2011/09/09(金) 18:11:49.71 ID:???]
Perlのコーディングで困ってる人のスレです。

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

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

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

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

前スレ hibari.2ch.net/test/read.cgi/php/1295170172/

442 名前:nobodyさん mailto:sage [2012/01/18(水) 21:06:05.29 ID:???]
元ファイルの内容を書き換えて別ファイルに保存する方法を教えてください。
元ファイル aaa.txt
変換プログラム trans.cgi
変換後のファイル bbb.txt

aaa.txt に書いてある「あ$kanaお」を読み込んで
trans.cgi にて$kana = きくけ; として変換し
bbb.txt に「あきくけお」で出力するには、どうしたらいいのでしょうか。

open関数で +< という読み書きでファイルを開いても
空テキストが作成されるだけで、うまくいきません。
どうかよろしくおねがいします。

443 名前:nobodyさん mailto:sage [2012/01/18(水) 21:27:56.62 ID:???]
open(my $infh, ?<:utf8?, ?input.txt?);
open(my $outfh, ?>:utf8?, ?output.txt?);
while(my $line = <$infh>){
  〜処理〜
  print $outfh $line;
}
close($outfh);
close($infh);

444 名前:nobodyさん mailto:sage [2012/01/18(水) 22:19:08.77 ID:???]
>>442
perldoc.jp/docs/perl/5.10.1/perlfaq5.pod

my %var = (FOO => 'bar');
open my $fh, '+<', $file or die $!;
read $fh => my $text, -s $fh;
$text =~ s/__([A-Z]+)__/$var{$1}/g;
seek $fh, 0, 0;
print $fh $text;
truncate $fh, tell;
close $fh;

open my $sfh, '<', $src_file or die $!;
open my $tfh, '>', $tmp_file or die $!;
while (<$sfh>) {
  s/__([A-Z]+)__/$var{$1}/g;
  print $tfh $_;
}
close $tfh and close $sfh or die $!;
rename $tmp_file => $src_file or die $!;

445 名前:442 mailto:sage [2012/01/18(水) 22:35:01.78 ID:???]
>>443さん
>>444さん

お返事ありがとうございました。
じっくり読んで頑張ってみたいと思います


446 名前:nobodyさん [2012/01/25(水) 02:08:42.13 ID:8GsK3GVU]
ファイルの置換について質問させてください。
コマンドラインから、
echo "test.txt" | xargs perl -pi -e 's/hoge/HAGE/g'
とすると正しく置換されるのですが、
ブラウザからapacheをとおして、スクリプト内で上記のコマンドを、
`echo "[フルパス]test.txt" | xargs perl -pi -e 's/hoge/HAGE/g'`

system "echo ¥"[フルパス]test.txt¥" | xargs perl -pi -e 's/hoge/HAGE/g'"
とするとうまく置換されないのはなぜでしょうか?
またこのケースですとスクリプト内での記述はどのようにするのが適切でしょうか?宜しくお願い致します。



447 名前:nobodyさん mailto:sage [2012/01/25(水) 03:35:55.61 ID:???]
CGI実行時のユーザ権限は
そのユーザ権限でファイルや当該ディレクトリは書き込み可能になっているか
をまずチェック。

448 名前:nobodyさん [2012/01/25(水) 03:57:31.07 ID:Arlh9fb/]
447さん
お返事ありがとうございます。ディレクトリとファイルは権限777にして試してみたのですが、
置換されませんでした。あとスクリプト中の文字のエスケープ漏れもみなおしてみたのですが、
結果変わらずでした。さらに調べてみます。ありがとうございます。

449 名前:nobodyさん mailto:sage [2012/01/25(水) 04:06:26.93 ID:???]
どう出来ないのか
エラーは出てないのか
端末でスクリプトを走らせたらどうなるか

450 名前:nobodyさん mailto:sage [2012/01/25(水) 08:23:33.82 ID:???]
Apacheのerrorログを見てみる ←基本



451 名前:nobodyさん mailto:sage [2012/01/28(土) 22:01:51.13 ID:???]
errorログを見て特に問題はないと思っていたら...

sendmailのログでしたorz←

452 名前:nobodyさん mailto:sage [2012/01/29(日) 11:48:32.08 ID:???]
コマンドラインやめてopen(FILE,"[フルパス]test.txt")しちゃいなよ

453 名前:nobodyさん mailto:sage [2012/01/31(火) 17:42:02.72 ID:???]
質問質問!
&sub1(qq(asdasdqwdasdasd));
sub sub1
{
while($_[0] =~ /asd/gs )#←@
{
print $_[0];#←@でマッチした中身を出力したいが、subの引数
}
}
こんな感じのプログラムを作ったのですが
$_[0]の中身が更新できなくて困っています・・・
どなたか回避する方法を教えてください!お願いします

454 名前:nobodyさん mailto:sage [2012/01/31(火) 17:56:37.52 ID:???]
/asd/gs
 ↓
/(asd)/gs


あとついでに書き直した。

sub1(qq(asdasdqwdasdasd));
sub sub1{
 my $str = shift || '';
 while($str =~ /(asd)/gs){
  print $1;
 }
}

慣れてくれば良いけど、初心者であるうちは $_ をそのまま使わずに関数内で変数を用意して
そこへ格納したほうがいいよ。


455 名前:nobodyさん mailto:sage [2012/01/31(火) 18:23:59.58 ID:???]
>>454
2つほど質問があるのですがいいですか!

456 名前:nobodyさん mailto:sage [2012/01/31(火) 18:26:09.85 ID:???]
お礼を書くのを忘れていました
>>454 さん ありがとう御座います。

457 名前:nobodyさん mailto:sage [2012/01/31(火) 18:52:11.00 ID:???]
don't ask to ask

458 名前:nobodyさん mailto:sage [2012/01/31(火) 21:02:02.01 ID:???]
CGIのデータベースを運用しています。

auの端末で検索できるものとできない機種があります。
同じ2009年にでたモデルでもできるできないがあります。
例えばCA002はできるけど、K002はだめ。

できないものは、何も検索フォームに入れないで検索してもダメです。

Jcode.pl 2.13でエンコードしてますが、
これが悪いのでしょうか?

どうしたら、文字検索をできるようにできますか?



459 名前:nobodyさん mailto:sage [2012/01/31(火) 21:33:09.50 ID:???]
>>458
携帯サイトのWebプログラムを語ろう Part3
kohada.2ch.net/test/read.cgi/php/1232544986/

460 名前:nobodyさん mailto:sage [2012/01/31(火) 22:38:52.20 ID:???]
表示してる文字コードはなにか

端末が送ってきてる文字コードは本当に希望したものか




461 名前:nobodyさん mailto:sage [2012/01/31(火) 22:46:58.04 ID:???]
>>460
Shift_JISです。

462 名前:nobodyさん mailto:sage [2012/01/31(火) 22:57:27.90 ID:???]
utf-8 で書きませう

463 名前:nobodyさん mailto:sage [2012/01/31(火) 23:06:58.71 ID:???]
Jcode.pmの好きなおいらがアドバイスしにやってきたょミ☆
初心者スレだしねミ☆

464 名前:nobodyさん mailto:sage [2012/01/31(火) 23:43:18.05 ID:???]
>>462
邪悪なutf-8イラネ

465 名前:nobodyさん mailto:sage [2012/02/01(水) 00:41:51.19 ID:???]
たしかに utf-8 はマッピングミスとかあるけど、
他からデータを持ってきたりとかしない場合には utf-8 で問題無い。


466 名前:nobodyさん mailto:sage [2012/02/01(水) 01:42:35.88 ID:???]
Shift_JIS vs UTF-8 のゴングが今、スレ内に鳴り響きました!

467 名前:nobodyさん mailto:sage [2012/02/01(水) 04:46:09.17 ID:???]
まずはアクセスログと標準入力に何が渡されたかを見る。

468 名前:nobodyさん mailto:sage [2012/02/01(水) 06:04:45.99 ID:???]
>>466
プログラム板でやれ

469 名前:nobodyさん mailto:sage [2012/02/01(水) 23:55:30.88 ID:???]
続きはSJIS板で

470 名前:nobodyさん mailto:sage [2012/02/03(金) 01:56:38.79 ID:???]
cp932板はありますか?



471 名前:nobodyさん mailto:sage [2012/02/03(金) 02:11:46.79 ID:???]
あるよ

472 名前:nobodyさん mailto:sage [2012/02/04(土) 02:53:54.65 ID:???]
LWP::UserAgent で指定 URL をアクセスして、リダイレクトされた際に実際にアクセスした URL を知るにはどうしたら良いでしょうか?

header('Location') で調べれば良いと思ったものの、リダイレクトされた後には Location ヘッダは無く、
max_redirect(0) でリダイレクトさせなければ Location ヘッダを取得できて、リダイレクト先を知ることは出来ました。

max_redirect(0) でアクセスして、Location ヘッダがあれば max_redirect(1) とかにしてアクセス。
リダイレクトが1回で済まなければ max_redirect(2) でアクセスしてみる。

と言ったことをやってるのですが、これが非常に面倒なので結果的にアクセスした URL が取得できればと考えて質問させていただきました。

473 名前:nobodyさん mailto:sage [2012/02/04(土) 03:45:11.91 ID:???]
>>472
response_done ハンドラか response_redirect ハンドラに URL を記録する処理を追加する。
search.cpan.org/dist/libwww-perl/lib/LWP/UserAgent.pm#Handlers

474 名前:nobodyさん mailto:sage [2012/02/04(土) 09:09:19.56 ID:???]
んなことしなくても、
HTTP::Response オブジェクトは使われた HTTP::Request オブジェクトを丸々保持してるし、
リダイレクト前の Response も previous メソッドでたどれる。

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $res = $ua->get("t.co/hog7vmt5");
do { print $res->request->uri, "\n"; } while ($res = $res->previous);
__END__
www.asahi.com/national/update/0204/TKY201202030789.html
t.asahi.com/5gxs
t.co/hog7vmt5

475 名前:473 mailto:sage [2012/02/04(土) 09:40:24.08 ID:???]
>>474
成程、そっちをみれば良かったのか。勉強になったよ。

use LWP::UserAgent;
my $r = LWP::UserAgent->new->get('t.co/hog7vmt5');
print map $_->request->uri . "\n", $r->redirects, $r;
__END__
t.co/hog7vmt5
t.asahi.com/5gxs
www.asahi.com/national/update/0204/TKY201202030789.html

476 名前:nobodyさん mailto:sage [2012/02/04(土) 16:24:03.95 ID:???]
>>473-475
自分には >>474 さんの書き方がしっくりきたので、
これでいこうと思います。
ありがとうございました。



どうでもいい事だけど・・・
do{ }while( ) ってあまり好きじゃないw
ループの条件式が後に来るってーのが、なんか馴染めない (^-^;

477 名前:nobodyさん mailto:sage [2012/02/05(日) 04:49:54.12 ID:???]
>>476
> do{ }while( ) ってあまり好きじゃないw
> ループの条件式が後に来るってーのが、なんか馴染めない (^-^;

その方が都合のいいケースもたまにあるでしょ。
最低1回は処理が必要、って時が。たまにね。

478 名前:474 mailto:sage [2012/02/05(日) 10:00:34.05 ID:???]
動作というより記法について言ってるのでは。
特にブロックの中身が複数行のときは最後の while を見るまでループだってことがわからんのが痛い。
あとまあ、動作も実際気持ち悪い。本物のループブロックじゃないから next とか使えんし。
まともに書く時はちょっと記述増えることになっても普通の while と last とかを組み合わせるほうがいい。

479 名前:nobodyさん [2012/02/06(月) 18:29:54.91 ID:ryr2jQRg]
Perlによるネットワークプログラムの質問です。
Perl でアクセスしたいサイトがあるのですが、Perlからhtmlを読むことが出来ません。
IE8の「ソースを表示」では表示できるのですが。

アクセスしたいサイト :cinema.pia.co.jp/
Perlのスクリプトの場所 :x68000.q-e-d.net/~68user/net/sample/http-client-2.pl
その説明 : x68000.q-e-d.net/~68user/net/http-3.html

【実行結果】
perl http-client-2.pl -GET cinema.pia.co.jp/
HTTP/1.1 200 OK
Date: Mon, 06 Feb 2012 09:25:43 GMT
Server: Apache
Last-Modified: Fri, 28 Aug 2009 06:41:24 GMT
ETag: "304a0-2-f9082d00"
Accept-Ranges: bytes
Content-Length: 2
Connection: close
Content-Type: text/html

1

で終わってしまい、肝心のHTMLのBODYの部分を表示する事が出来ません。
どなたか分かる方教えてください。

480 名前:nobodyさん mailto:sage [2012/02/06(月) 20:02:58.69 ID:???]
LWP 使えば?



481 名前:nobodyさん mailto:sage [2012/02/06(月) 20:18:45.51 ID:???]
>>480
オレもLWP使うに1票

482 名前:nobodyさん mailto:sage [2012/02/06(月) 22:10:48.93 ID:???]
wget使えば?

483 名前:nobodyさん mailto:sage [2012/02/06(月) 22:53:24.14 ID:???]
一度やってみたかったのでtelnetにコマンドを流し込みます。
覚えるともう、病みつきです。ftpもこれでやってます。
sendmailだって大丈夫です。

484 名前:479 [2012/02/07(火) 01:13:45.57 ID:eo0HNsOB]
>>479 です。返信ありがとうございます

>>480 >>481
LWP 使ってみました。www.sea-bird.org/doc/Solaris8/Perl_4.html
出来ました
>>482
wget をPerlから?使う方法が分かりませんでした。コマンドとして使うという事なら目的と違います
>>483
上記チュートリアルサイトにて telnet も試しましたが、駄目でした


実は本当にやりたいことは別にあったので、すみませんが質問をやり直させてください

このサイトは、映画レビューサイトなのですが、
cinema.pia.co.jp/user/xxxxx/imp/all/ (xxxxxは数字)
にて、各ユーザーのレビュー一覧を見る事が出来ます
(実は自分のレビューを抽出したいだけです)
しかし、Perlからのアクセスでは、LWPを使ってもここではじかれてしまいます
(IE8の「表示→ソース」では見れるが、Perlにprintさせると違うものになっている)

どなたか原因分かりますでしょうか?

485 名前:nobodyさん mailto:sage [2012/02/07(火) 01:25:44.20 ID:???]
「違うもの」が何だか分からないけど、ユーザーエージェントをIEにしてみたら?

486 名前:nobodyさん mailto:sage [2012/02/07(火) 01:48:21.80 ID:???]
>>484
use LWP::UserAgent;
use HTTP:Request::Common;
my $ua = LWP::UserAnget->new();
$ua->agent('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)');
my $req = GET('cinema.pia.co.jp/user/xxxxx/imp/all/');
my $res = $ua->request($req);
if(open(my $outfh, '>', 'debug.html')){
print $outfh $res->content() || '';
close($outfh);
}


487 名前:479 mailto:sage [2012/02/07(火) 03:24:39.22 ID:???]
>>479 です。ありがとうございます

>>485 駄目でした。ソースの190行目辺りからが違ってきます
上手くいく時は、以下のようになります。良く分かりませんが。
<div id="mainImpMain">
<form method="get" class="common">
<ul class="pagedLink">

>>486
出来ました。ありがとうございました。

488 名前:nobodyさん mailto:sage [2012/02/07(火) 23:59:17.86 ID:???]
>>487
何がだめだったのか、ちゃんと理解できてる?

489 名前:nobodyさん mailto:sage [2012/02/08(水) 00:00:54.11 ID:???]
HTTP ヘッダに独自のヘッダを付加しようとしてるんですけど、
自分自身が呼ばれて起動された際の HTTP ヘッダってどうやって確認するのでしょうか?

use CGI の header はヘッダを出力するためのものっぽいし・・・

490 名前:nobodyさん mailto:sage [2012/02/08(水) 00:27:39.96 ID:???]
>>489
それはあんたのスクリプトがどうやって呼び出されているかによる。
httpd に Apache を使ってて CGI 経由で呼び出されているなら
Apache のマニュアルと CGI の仕様書を読んでくれ。
httpd.apache.org/docs/
www.studyinghttp.net/rfc_ja/rfc3875

あと HTTP の仕組みもきちんと理解してくれ。
www.studyinghttp.net/rfc_ja/rfc2616



491 名前:nobodyさん mailto:sage [2012/02/08(水) 00:51:03.57 ID:???]
HTTP ヘッダの理解を深める為にマニュアルや RFC を求めてるんじゃなくて、
自身のスクリプトが呼ばれた際の HTTP ヘッダを得る方法を伺っているわけでして・・・


492 名前:479 mailto:sage [2012/02/08(水) 01:09:59.52 ID:???]
>>488
目的のスクリプトは書けたのですが、気持ち悪いので知ってるなら教えてもらえますか?


493 名前:nobodyさん mailto:sage [2012/02/08(水) 04:36:08.44 ID:???]
「教えてもらえますか?」

最近の若い奴は、物事の尋ね方も知らないのか?ブツクサブツクサ

494 名前:nobodyさん [2012/02/08(水) 07:53:34.31 ID:D9+63/xk]
<!-- link -->から<!-- /link -->までのタグ内に存在するURLとその行の「〜」で囲まれてる部分を
抜粋するようなプログラムを作成したいと思います。

例えば、次のような文章があった場合、
------------------------------------
ほげほげふがふが
example.com/hogehoge1
ほげほげふがふが
example.com/satitama1/saitama.html
<!-- link -->
リンク一覧
〜テスト〜 example.com/hogehoge2/test.hmtl
〜さいたま〜 example.com/satitama2
東京
<!-- /link -->
------------------------------------
結果は
------------------------------------
<a href="example.com/hogehoge2/test.hmtl">テスト</a>
<a href="example.com/satitama2">さいたま</a>
------------------------------------

のようにしたいのですが、どのように書いたらよいでしょうか?

尚、URLを抜き出す正規表現は次のように書きました。
(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)


環境は、CentOS5 perl5.10です

495 名前:nobodyさん mailto:sage [2012/02/08(水) 10:31:20.53 ID:???]
>>494
perldoc.jp/docs/perl/5.10.1/perlfaq6.pod#How32can32I32pull32out32lines32between32two32patterns32that32are32themselves32on32different32lines63

my $protocol = qr/(?:https?|ftp)/;
my $format = '<a href="%2$s">%1$s</a>' . "\n";
my $text = do { ... };
my @link;
while ($text =~ m{<!-- link -->(.*?)<!-- /link -->}gs) {
  my $links = $1;
  push @link, sprintf $format, $1, $2
    while $links =~ m{〜(.*?)〜.*?($protocol://[!#-;=?-\[\]_a-z~]+)}gos;
}
print @link;

496 名前:nobodyさん mailto:sage [2012/02/08(水) 12:09:45.01 ID:???]
>>493
その割には「お前ら教えろ」で回答貰えたりするけどな2ch

497 名前:nobodyさん mailto:sage [2012/02/08(水) 23:05:10.70 ID:???]
>>496
それはむしろネタとして受け入れられてしまうんだろうなw

498 名前:nobodyさん mailto:sage [2012/02/19(日) 12:41:02.48 ID:???]
私の働きが悪いせいか、私の物はほとんど買ってくれません。
下着は、妻と娘のお下がりです。
おまけに洋式トイレ、便座が上がってるとか、飛沫が飛んでるとか、いちいち五月蝿いんです。
おかげで、トイレは座ってするように強要され、もうブリーフの前、開ける必要が無いんだからと、私達のお下がりで十分でしょう。と、ここ何年も私の物は買ってくれません。
今では開き直って、ブラジャーもしています。
家に居る時は、娘のスカートを穿き、外出は娘のパンツ、ジーンズ穿いていきます。
娘は、始めは困惑していたが今では慣れ、何でも貸してくれます。
妻の洋服、パンツ、スカートはウエストがちょっときつい。
ストレッチの物は、勝手に着ています。

499 名前:nobodyさん mailto:sage [2012/02/19(日) 13:22:18.26 ID:???]
cat >>498 > /dev/null

500 名前:nobodyさん mailto:sage [2012/02/19(日) 15:19:47.97 ID:???]
next if $num == 498



501 名前:nobodyさん mailto:sage [2012/02/19(日) 17:53:14.70 ID:???]
Global symbol "$num" requires explicit package name at >>500 line 1.

502 名前:nobodyさん mailto:sage [2012/02/19(日) 22:33:36.65 ID:???]
どうせなら、>>498 は、そのカキコ内容を perl で記述すべし。

503 名前:nobodyさん mailto:sage [2012/02/20(月) 14:28:00.53 ID:???]
use warnings; use utf8; use Corp; use Family;
my $family = Family->new();
$family->husband('>>498'); $family->wife('百合子(仮)'); $family->daughter('楓(仮)');
my $corp = Corp->new(); $corp->salaryCalculation();
$family->income($family->husband(), $corp->salary());

if($family->income($family->husband()) > 250000){
  # トイレ
  my $toto = Toilet->new();
  $toto->type('EU'); # JA or EU
  my $urine = $family->urine($family->husband()); # 小便をする
  $toto->urine($urine);
  if($toto->is_splash()){ $toto->forced_to_sit(1); } # トイレの用足しには座りを強制
  # 下着
  if($toto->forced_to_sit()){ $family->underwear($family->husband(), $family->underwear($family->wife()); }
  # 他の着衣
  if($family->underwear($family->husband()) eq $family->underwear($family->wife())){
    $family->brassiere($family->husband(), $family->brassiere($family->wife());
    $family->skirt($family->husband(), $family->skirt($family->daughter());
    $family->jeans($family->husband(), $family->jeans($family->daughter());
  }
}else{
  $family->underwear($family->husband(), 'BOXER PANTS');
  $family->brassiere($family->husband(), undef);
  $family->skirt($family->husband(), undef);
  $family->jeans($family->husband(), 'EDWIN');
}

>>498 じゃないけど、これが限界っす><
娘や妻への下着のセットは省いたw

504 名前:nobodyさん mailto:sage [2012/02/20(月) 14:29:13.01 ID:???]
収入がちゃんとある場合の下着で、ブラとスカートはちゃんと undef にしてるところを評価して欲しいですw

505 名前:nobodyさん mailto:sage [2012/02/20(月) 22:20:39.95 ID:???]
わろた

506 名前:nobodyさん mailto:sage [2012/02/21(火) 10:11:33.62 ID:???]
修正
× $corp->salary()
○ $corp->salary($family->husband())

サラリーを得るのに名前を渡してなかった><


× if($family->income($family->husband()) > 250000){
○ if($family->income($family->husband()) < 250000){

不等号の向き間違えたw

507 名前:nobodyさん mailto:sage [2012/02/24(金) 16:30:51.95 ID:???]
初めまして。

RSSのデータから、日付時刻とタイトル、そのリンク先URLを一覧にして取得したいと考えています。

・ブラウザに「取得」ボタンなどを表示し、それをクリックすることで最新の一覧を表示
・以前に取得したものは取得しない

先ずは上記2点を実装したいです。

良い方法や参考サイトなどをご教示頂きたいです。
よろしくお願いいたします。

508 名前:nobodyさん mailto:sage [2012/02/24(金) 17:02:28.77 ID:???]
>>507
>>1-2

こんなCGI探してます 23
kohada.2ch.net/test/read.cgi/php/1219654359/
依頼されたツールを誰かが作るスレ
kohada.2ch.net/test/read.cgi/php/1078997682/
金出すからスクリプト作ってよvol.1
kohada.2ch.net/test/read.cgi/php/1150508106/
自作CGIを評価するスレ
kohada.2ch.net/test/read.cgi/php/1049514428/
自分の作ったCGIスクリプトをデバッグするスレ
kohada.2ch.net/test/read.cgi/php/1011174442/

kohada.2ch.net/test/read.cgi/php/1036141603/420-435

509 名前:nobodyさん mailto:sage [2012/02/24(金) 17:22:17.71 ID:???]
>>508
最後のスレが役に立ちそうです。ありがとうございます。

510 名前:nobodyさん mailto:sage [2012/02/25(土) 00:54:16.96 ID:???]
なぜマスコミは財務省の犬になるのか?

全国紙では唯一、増税批判の姿勢を取っていた産経新聞に、
昨夏、国税の税務調査が入った。
財務省にとって税務調査は言論統制の最強の武器で、
2009年には朝日、読売が申告漏れを指摘され、
それを機に朝日は増税礼賛へと傾斜し、
読売は財務省幹部の天下りを受け入れた経緯がある。

国税庁という「警察力」は、財務省の最強の武器なのです。
何しろ、徴税というのは「裁量範囲」が広い業務で、
調査官の「判断」により合法とされたり、
脱税とされたりしてしまうのです。
「去年はOKだったのに、今年は何でダメなんだ!」
といった事態は普通に起こります。




511 名前:nobodyさん mailto:sage [2012/02/25(土) 13:09:52.88 ID:???]
眞子様は素敵

まで読んだ

512 名前:nobodyさん mailto:sage [2012/02/27(月) 00:22:44.82 ID:???]
貞子は素敵

まで読んだ

513 名前:nobodyさん mailto:sage [2012/02/27(月) 00:26:08.69 ID:???]
素数

に見えた

514 名前:nobodyさん mailto:sage [2012/02/27(月) 00:46:41.84 ID:???]
素股

515 名前:nobodyさん mailto:sage [2012/02/27(月) 07:22:57.09 ID:???]
眞子様は素股!?

516 名前:nobodyさん mailto:sage [2012/02/27(月) 14:07:22.77 ID:???]
貞操は国家機密事項

517 名前:nobodyさん [2012/02/28(火) 00:06:11.43 ID:0AwG+yg0]
質問なのですがPerlでこういうサイトって作れますか?
ttp://findrjp.com/formen/
これはPHPだと思うんですけど
作るとしたらelsifで作る感じでしょうか?
こういうのってすぐ作れますか?

518 名前:nobodyさん mailto:sage [2012/02/28(火) 00:51:16.58 ID:???]
お前には無理

519 名前:nobodyさん mailto:sage [2012/02/28(火) 00:59:39.36 ID:???]
お前に出来たらチンパンジーでも出来るよ

520 名前:nobodyさん mailto:sage [2012/02/28(火) 01:10:42.34 ID:???]
そうだねelsifさえ使いこなせれば簡単に作れるよ。でもelsifはかなり難しいから頑張ってね。



521 名前:nobodyさん [2012/02/28(火) 01:35:37.84 ID:0AwG+yg0]
皆様生暖かいコメントありがとうございます。
どうせテメーらにはできないんだろwwwww
って挑発したらヒント教えてくれますか?
elsifは分かります

522 名前:nobodyさん mailto:sage [2012/02/28(火) 10:18:18.70 ID:???]
はいはいマルチマルチ。

523 名前:nobodyさん mailto:sage [2012/02/28(火) 14:34:14.89 ID:???]
実行中のスクリプトの場所に関して質問です。

スクリプト中で開くファイルはスクリプトのあるディレクトリのサブディレクトリに置いており、
全てフルパスで開くようにしています。
昨日初めて mod_perl を入れたところ、FindBin $Bin や Cwd が Apache のディレクトリになっています。

$ENV{'SCRIPT_FILENAME'} を使おうかと思ったのですが、デバッグでコンソールで実行することもあるため
$ENV{'SCRIPT_FILENAME'} は使えません。

$0 では cron でも mod_perl でも CGI でもコンソールでも期待する値が得られました。

./hoge.pl で実行して dirname($0) すると ./ 返ると書いてある場所もありますが、当方では
確認できませんでした。

そこで疑問に思ったのが、$0 を 100% 信用してもいいのか? ということです。
「他のプログラムにより強制的に書き換えられる」 という可能性は今は無しでお願いします。


524 名前:nobodyさん mailto:sage [2012/02/28(火) 14:46:37.42 ID:???]
ちょっと勘違いがありました。

$0 は perl に与えられた path みたいですね。
HTTPd とかはフルパスを作って渡してくれてるっぽいけど、
コンソールではそうではない。

むぅ。。。

525 名前:nobodyさん mailto:sage [2012/02/29(水) 01:59:02.18 ID:???]
mod_perl を導入してスクリプトが走るのが軽いからと F5 連打してたら
Not a CODE reference 〜
っていうエラーが出た。
そのエラーが言う行は

main();

としかやってないのに。。。

526 名前:nobodyさん mailto:sage [2012/02/29(水) 11:28:36.69 ID:???]
mod_perlが返すパスも元を追えば$0を元に生成してたと思う

527 名前:nobodyさん mailto:sage [2012/03/02(金) 13:17:08.38 ID:???]
すみません、Web制作板からこちらに飛ばされて来ました。

ユーザーによる新規会員登録後、そのユーザー毎にディレクトリを自動的に生成し、
ユーザディレクトリ毎に容量制限を割り当てたいのですが、可能なのでしょうか?

ディレクトリを自動生成するところまではできています。


528 名前:nobodyさん mailto:sage [2012/03/02(金) 18:09:30.62 ID:???]
ファイルが作成されようとする度に全ファイルサイズを得るか、
quota の導入。
quota を入れるなら、システムに実際にユーザーの作成が必要。

529 名前:nobodyさん mailto:sage [2012/03/03(土) 19:01:18.46 ID:???]
if ( 現在使用サイズ + これから書き出すサイズ < 制限サイズ ) {
 ファイル書き込み
 現在使用サイズを書いたファイルorDBを更新(現在使用サイズ+これから書き出すサイズ)
}

サイズ取得はuse bytes; $data_size = bytes::length($data); かな。

530 名前:nobodyさん mailto:sage [2012/03/03(土) 19:19:52.03 ID:???]
$^0って何でしたっけ。
検索しにくくて、、、、こういうのどうやって探せばいいんでしょう。
perlvarになかったので特殊変数ではないっぽい



531 名前:nobodyさん mailto:sage [2012/03/03(土) 19:27:25.41 ID:???]
何でしたっけと言われても、少なくともPerlにおいては特殊変数ではないしそれ以外の何かの意味もない。

532 名前:nobodyさん mailto:sage [2012/03/04(日) 02:19:05.56 ID:???]
$^O ならOS名なんだけどネ

533 名前:nobodyさん mailto:sage [2012/03/04(日) 12:49:16.62 ID:???]
>>532
そんなのすぐ気づいたしw

534 名前:530 mailto:sage [2012/03/04(日) 17:01:24.24 ID:???]
ありがとうございます、OS名でぐぐったらいろいろ出てきました。
ゼロじゃなくて大文字のオーだったんですね。

OS名ということはシステムからPerlに提供されているものだと思って、%ENVと同じところに記述されているはずって当たりをつけたら
perlvarにありました。

535 名前:nobodyさん mailto:sage [2012/03/04(日) 20:39:47.27 ID:???]
531恥ずかしすぎだなw

536 名前:532 mailto:sage [2012/03/05(月) 05:40:34.80 ID:???]
>>535
そんなことはない。$^0 は確かに特殊変数でもなんでもなかった訳だし。
ためしに$^0をプリントさせたらエラーで実行できなかったし。

537 名前:nobodyさん mailto:sage [2012/03/05(月) 22:13:10.43 ID:???]
だが普通すぐ気づくだろう。

538 名前:nobodyさん mailto:sage [2012/03/06(火) 01:30:36.74 ID:???]
「普通すぐ気づく」なら530の質問は最初からされてない

539 名前:nobodyさん mailto:sage [2012/03/06(火) 01:42:56.66 ID:???]
荒らしはスルーで、、、

540 名前:nobodyさん mailto:sage [2012/03/06(火) 02:52:11.60 ID:???]
>>538
なぜ?
$^O が検索しにくいのは同じだろう?



541 名前:nobodyさん mailto:sage [2012/03/06(火) 02:56:51.45 ID:???]
perlvarとは何だったのか

542 名前:nobodyさん [2012/03/06(火) 09:53:40.98 ID:zjKZlebn]
質問です、以下の最短マッチが機能しないっぽい? のですが、なぜでしょうか?

コード(抜粋)
$html =~ m!"(.*?)" class="Link88" href="/Models.aspx\?ModelID=$id"!s;
print $1;

実行結果
(〜ごっそり省略) <a title="Loeka Creekside Fern Short Sleeve Jersey 2010

$htmlはLWPで拾ってきたHTMLです。数MBくらいあります。
パターンマッチ内の文字列 class="Link88"〜 というあたりはちゃんとマッチしているようですが、
少なくとも Loeka の左にある " が $1 に含まれちゃうのはおかしい気がします。
また不思議なことに、修飾子 /s を外すとちゃんと最短でマッチしてくれます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef