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


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

Perlでリクに答えるスクリプトを作るスレ



1 名前:(・∀・)チンポー!! mailto:(・∀・)チンポー!! [04/06/02 11:39]
perl書きなんだがさ、こうリクに答えてなんか作りたいんだ。
だからリクエストをくれ。

593 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 22:59:04 ]
俺は全く解らないので、申し訳ないけど誰かに頼みたいorz
ボタンを押したらカウントが増えるシンプルなシステムを作って欲しいです。

594 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 02:59:10 ]
どこにでもあると思うが…

595 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 16:54:07 ]
>>593

use CGI;
my $cgi=new CGI;
my $n=$cgi->param('n')+1;
print $cgi->header(-charset=>'Shift_JIS'),
$cgi->start_html(-lang=>'ja',-encoding=>'Shift_JIS',-title=>'simple count'),
$cgi->a({href=>"$ENV{'SCRIPT_NAME'}?n=$n"},$n),
$cgi->end_html;


596 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:02:04 ]
>>593

<?php
if (! $HTTP_COOKIE_VARS{'Num'}) {
$start=0; $i=1; setcookie("Num",$i,time()+30);
} else {
$i=$HTTP_COOKIE_VARS{'Num'}+1;
setcookie("Num",$i,time()+30);
}
echo $start.$HTTP_COOKIE_VARS{'Num'}."<br>\n";
echo "<form method=POST action=><input type=submit value=count_up></form>\n";
?>


597 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 01:41:37 ]
>>593
<input type="button" value="0" onclick="this.value++">

598 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 02:06:11 ]
どんどん簡易な物になってくな

599 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 20:10:06 ]
つーかスレタイに反してPerlですらなくなってるな
このスレ自体がアレなのは確かだが

600 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 00:49:26 ]
待て待て、Web物とは一言も言ってないぞ?

# CUI
use Term::ReadKey;
binmode STDIN;
ReadMode 3;
print my $count = 0;
print "\r", ++$count while (defined ReadKey 0);
ReadMode 0;

# GUI(Perl/Tk)版
use Tk;
my $count = 0;
my $mw = MainWindow->new();
my $label = $mw->Label(-text => $count)->pack();
$mw->Button(
-text => 'Count up',
-command => sub { $label->configure(-text => ++$count) },
)->pack();
MainLoop;

601 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 12:46:48 ]
Term::ReadKey を入れてないおいらが来ましたよ。

#!/usr/bin/env perl
print my $i = 0 ; $i ++ ;
system "stty -echo" ;
print "¥e[1K" . $i ++ while <STDIN> ;
system "stty echo" ;

このスクリプト ( hoge.pl )、perlcc が通ったのには笑った。@5.6.6
perlcc -o counter hoge.pl



602 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:24:24 ]
なんで笑えるのかわからんが、もっと短くしてみた。
perl -e '`stty cbreak -echo`;print $i++,"\r" while getc'

603 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:49:37 ]
cbreakはサポートしてないものもあるよ

604 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 17:11:49 ]
>>602
いや system 関数ってみるからにコンパイルの時コケそうじゃないですか。

605 名前:デフォルトの名無しさん [2006/08/06(日) 00:00:47 ]
頭が混乱してきた。
ETRADEのポートフォリオのページを取得するスクリプトつくって。

6時間考えたけど、いっぱいいっぱい。だめぽ

606 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 00:29:53 ]
既製品を探すという作業を飛ばしたようだね。

607 名前:デフォルトの名無しさん [2006/08/06(日) 00:52:42 ]
>>605 だけど。
やっとできたよ。

しばらく POSTとGETの仕組みと INPUTタブの仕組みを
忘れてた。



608 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 03:44:01 ]
inputタブだってよ

609 名前:デフォルトの名無しさん [2006/08/08(火) 10:10:47 ]
ディレクトリ内にある.jpgファイルを全て
1.jpg, 2.jpg, 3.jpg, ... というように連番のファイル名に変換するプログラムを
つくって頂けませんか。
そのディレクトリには.jpgファイルしか置いてません。(全部変換する)
もともとのファイル名は、*****.jpg もしくは ******.jpg (*は数字)
という形です。
こういうプログラムを作るのにperlが適しているのかどうかはわからないのですが、
他に作成依頼できそうなスレがみつからなかったので。

お願いします。

610 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 10:16:02 ]
folderの中にある複数の圧縮ファイル(zip, rar)の中のファイルの情報の一覧(text fileでOK)
を作ってくれるscriptがほしいです。

611 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 10:55:06 ]
>>609
perl -e'my $i = 1; foreach(glob("*.jpg")) { rename $_, "$i.jpg"; $i ++;}'
動くかどうかはしらん



612 名前:609 mailto:sage [2006/08/08(火) 11:52:55 ]
>611
できてるぽいです!
ありがとうございます。

613 名前:デフォルトの名無しさん [2006/08/08(火) 16:23:26 ]
アクセスしてきたPCのポートスキャンをするcgi
目的:自分のPCのセキュリティーチェックをしたいので

614 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 18:06:17 ]
嘘付け

615 名前:613 mailto:sage [2006/08/08(火) 18:24:59 ]
最初はIPアドレスを入力して入力されたIPをもつPCのポートスキャンができるようにとおもったのですが、
>>614さんのように邪推される方がいると思ったのでアクセスしてきたPCのポートスキャンということにしました。
さらにいうなら、IDパスワード認証をしてそのチェックを通過した人だけセキュリティーチェックできるようにお願いします。
もっともIDパスワードをさらしておいて他人のPCのポートスキャンができることも懸念されますが・・・・。。

616 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 16:45:15 ]
>>610
while (<*>) {
 if ((/\.zip$/i) or (/\.rar$/i)) {
  open(AAA, "unrar l $_ |") || die "err";
  $list = <AAA>;
  close(AAA);
 }
}
こんなもんで、よろしいんじゃないですか?

617 名前:デフォルトの名無しさん [2006/08/24(木) 20:33:41 ]
perl -e '`stty cbreak -echo`;print $i++,"\r" while getc'

618 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 14:53:13 ]
LINUXのCRONで動かしているPerlがあるんだが、自分自身2重起動を阻止したい。
リクエストお願いします。

619 名前:デフォルトの名無しさん [2006/08/30(水) 15:34:33 ]
>>618
例えばlockファイルを使う。perldoc -q lock

use Fcntl qw(:DEFAULT :flock);

sysopen(LCK, "/tmp/lockfile", O_WRONLY|O_CREAT) or die "open: $!\n";
flock(LCK, LOCK_EX|LOCK_NB) or die "flock: $!\n";

sleep 100;

620 名前:デフォルトの名無しさん [2006/08/31(木) 19:03:19 ]
なんじゃそりゃ

621 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:41:40 ]
5分経過したら再認証のページに飛ぶものを作って下さい。
お願いします。。。



622 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:50:03 ]
>>621
仕様がはっきりしなさ過ぎて無理

623 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:12:49 ]
>622
タイムアウト処理だけでも無理ですか?

624 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:40:42 ]
同じ学校のやつか?

964 名前:デフォルトの名無しさん 投稿日:2006/09/07(木) 21:36:27
質問です!
ログインして10分経過後、再認証を行なうプログラムについて教えて下さい。
学校の課題なんですがさっぱり分りません。。。


625 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 00:13:21 ]
マルチかよ

626 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 16:15:04 ]
>>623
sleep(300);

627 名前:デフォルトの名無しさん [2006/09/08(金) 19:48:59 ]
>>621

 鯖に「ID=************が何時何分何秒にログインした」ってファイルを
作っておいて、その人がCGIにアクセスするたびに最終ログイン時刻を
チェックする。規定時間をオーバーしていると、ログイン画面に飛ばす。

って感じのやつはダメ?

628 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 05:37:49 ]
そーいや前に、タイムアウトの処理を
HTMLのタグでやってるの見たことある

ブラウザ側で簡単に回避されるっての…w

629 名前:デフォルトの名無しさん [2006/10/22(日) 15:34:50 ]
マルチにマジレス カコワルイ

630 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 11:35:28 ]
質問させてください

「開始」と「終了」の間に入っている文字列をリンクアドレスにするにはどうすればいいですか?

たとえば$STR="開始test.html終了"; とあったとき
出力結果が

<a href=test.html>test.html</a>になるようにしたいんです。


$START="開始";
$END="終了";


631 名前:デフォルトの名無しさん [2006/10/23(月) 12:07:01 ]
2chに書き込むスクリプトってどうやるんですか?



632 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 12:34:24 ]
2ちゃんねる2GETスクリプトの改良おねがいします
pc8.2ch.net/test/read.cgi/tech/1161552012/

633 名前:デフォルトの名無しさん [2006/10/23(月) 12:46:54 ]
Perlでつくってください

634 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 13:30:24 ]
>>630
正規表現で一発やん

635 名前:デフォルトの名無しさん [2006/10/23(月) 14:49:23 ]
>>634
ごめんなさい、わからないんです。
とりあえず、ここまでは出来ました
「開始」と「終了」に挟まれる$1を抽出した後、その$1をURL形式に変えてアドレスにして置き換えていきたいんです。

例えば
$in{'data'}="開始なにか終了hogehogehoge開始てすと終了"だったとしたら
これが

$in{'data'}="<a href=hoge.com/hoge.cgi?keyword=%42%28%39>なにか</a>hogehogehoge<a href=hoge.com/hoge.cgi?keyword=%32%86%26>てすと</a>"

みたいな形式に置き換えたいんです


use URI::Escape;
$START="開始";
$END="終了";
$SEARCHADD="hoge.com/hoge.cgi?keyword=";

while ($in{'data'}=~ m/$START(.*)$END/g) {
$output = $1;
$urikeyoutput = uri_escape($output);
$in{'data'} =~ s/$START$output$END/<a href=$SEARCHADD$urikeyoutput>$output<\/a/g;
}

636 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 16:03:57 ]
>>635
> while ($in{'data'}=~ m/$START(.*)$END/g) {

これを

while ($in{'data'}=~ m/$START(.*?)$END/g) {

ってすりゃいいんじゃないか?
(.* じゃなくて .*? ってことね)


637 名前:デフォルトの名無しさん [2006/10/23(月) 16:23:43 ]
>>636
変えてみましたけど、無理でした
while ($in{'data'}=~ m/$START(.*?)$END/g) { の時点で拾ってきてくれてないみたいです
書き方おかしいですか?

638 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 16:53:05 ]
>>637
while ($in{'data'}=~ m/$START(.*)$END/g) { ... の中で更に
$in{'data'} =~ s/$START$output$END/ ... なんてしてるから
マッチ開始位置がおかしな事になる。下の一文で済む。

$in{'data'} =~ s{\Q$START\E(.*?)\Q$END\E} {
  my $url = $1;
  my $query = uri_escape($url);
  qq|<a href="$SEARCHADD$query">$url</a>|;
}eg;

639 名前:デフォルトの名無しさん [2006/10/23(月) 16:58:47 ]
>>638
ご回答ありがとうございます。
その方法で問題なく出来ましたが

開始、終了のペアが2つ以上でてきた場合エラーが発生します。

$in{'data'} ="開始テスト1終了開始テスト2終了";
だったとき

最初の開始から 最後の終了までを1つだと思っているみたいです

640 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 17:16:50 ]
>>639
大方 (.*?) を (.*) と写し間違えているんだろう。

641 名前:デフォルトの名無しさん [2006/10/23(月) 17:19:31 ]
>>640

>>638さんのものを、そのままコピペして使ってるのですが
>>639に書いた症状が出ます



642 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 18:37:03 ]
infosys.gsid.nagoya-u.ac.jp/~ohna/re/intro2re2.html

643 名前:デフォルトの名無しさん [2006/10/31(火) 00:40:22 ]
データが壊れないカウンタを20行で作ってみてください

644 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 01:27:13 ]
なんのカウンタだよアホ

645 名前:デフォルトの名無しさん [2006/10/31(火) 02:57:14 ]
ロックファイルを作りながら
カウントしていくだけのプログラム

646 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 13:23:42 ]
だから何をカウントするんだよ。
CGIなら板違いだ

647 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 17:57:33 ]
++$count;

完成!


648 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 11:41:54 ]
画像の横幅を習得するにはどうすればいいんですか?

649 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 12:19:20 ]
>>648
search.cpan.org

650 名前:648 mailto:sage [2006/11/03(金) 12:26:30 ]
すみませんが、自己解決しました。

651 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 13:29:13 ]
解答が出たあとに自己解決かw



652 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 19:53:30 ]
>>643
これでいいんか?

open my $fh, ">>count.dat";
print $fh "\n";
close $fh;
print "Content-Type: text/plain\n\n";
print -s "count.dat";

653 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 21:29:16 ]
>>652
壊れないけど取りこぼすな。でも「壊れない」条件は満たしてるからいいのか。
軽いカウンタならutimes使って作るといいよ。inodeしか触らない。

654 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 20:34:43 ]
>>653
utimes?
utimeじゃなくて?

ていうかどちらにしろファイルのタイムスタンプ変更するだけの関数だから
カウンタにはできないのでは?


655 名前:デフォルトの名無しさん mailto:sage [2006/11/07(火) 02:45:23 ]
>>654
タイムスタンプは time_t 型の数値を保存できる場所でな。

656 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 14:02:06 ]
>>655
あ。なるほど。タイムスタンプを無理矢理カウンタとして使うのか。
たしかにできるけど、強引な方法だな・・・。


657 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 21:11:30 ]
それどうやって排他するん?

658 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 22:21:24 ]
>>657
普通にflockなりなんなりお好きな方法で。

659 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 23:53:28 ]
@CSV = <INCSV>;
$line_amount = @CSV + 1;
$lines = do { local $/; <INTEXT> };
@Aitems = map {(split '\t', $_, 2)[0]} @CSV;
@Bitems = map {(split '\t', $_, 2)[1]} @CSV;
@A = @Aitems;
@B = @Bitems;
chomp (@B);
for ($i = 0; $i < $line_amount; $i++){
$lines =~ s/$A[$i]/$B[$i]/g;
}
print OUT $lines;
-------------
タブ区切りで、検索文字列[TAB]置換文字列
というテキストを作って、それを読み込んで置換するスクリプトなのですが、
一応動作はするものの、置換文字列に $1, $2 など後方参照の変数がそのまま
文字列として出てきてしまいます。これを展開できるようにするには
どうすればいいのでしょうか。

660 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 11:16:41 ]
/e

661 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 17:33:14 ]
>660
だめでした。
$lines =~ s/$A[$i]/$B[$i]/ge;

置換失敗、($1)という文字列が出ます
s/「(.*?)」/($1)/ge;

こういうのは置換成功(eなしで問題なし)
s/(あ)\1/嗚呼/g;



662 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 16:02:15 ]
/ee

663 名前:リクエスタ [2006/11/16(木) 23:38:52 ]
横一列に並んだ単語を縦一列に直すスクリプトをリクしたいっす


↓ 単語が横一列になっているファイルを(ファイル名は例えば sample1.txt )
globe apple captain delicate baseball e-mail family

↓こんな感じに縦列に並べ変えたい
globe
apple
captain
delicate
baseball
e-mail
family

664 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 23:44:17 ]
エディタで空白を改行に置換したらいいやん

665 名前:663 mailto:sage [2006/11/17(金) 00:00:18 ]
あ、そっかwwww

sed 's/ /\n/g' sample1.txt > sample2.txt
でできましたw

666 名前:デフォルトの名無しさん [2006/11/17(金) 12:04:26 ]
my (%data);
my $num1 = 3;
my $num2 = 4;
my $moji =tetra;

$data{$moji} = [ $num1, $num2 ];

print("%d",$data{$moji});


perl 実行
%dARRAY(0x85a7c28

何かよくわからない結果になってしまったのですが・・・

667 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 12:09:58 ]
こっちで聞いても同じだぞ

668 名前:デフォルトの名無しさん [2006/12/06(水) 15:03:15 ]
掲示板(KENT e-pad)を10分毎に監視して
新規の書き込みがあった場合、内容をメールで送るスクリプト作って下さい。


669 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 16:19:01 ]
>>668
じゃあ雛型だけ。あとは getbbs() と sendmail() を作れば完成だ。がんばれ。

#!/usr/bin/perl -w

use strict;

my $olddata;
for (;;) {
 # 掲示板の内容を取得する。
 my $data = getbbs();
 if (defined($olddata) && $data ne $olddata) {
  # メールを送信する。
  sendmail($data);
 }
 $olddata = $data;
 sleep 60 * 10;
}


670 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 16:35:42 ]
ぎゃふん!

671 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 17:34:31 ]
sendmail のサンプル

sub sendmail {
 my $data = shift;
 open(F, '| /usr/lib/sendmail -t >/dev/null 2>&1') or die;
 print F "From: hoge\@fuga.com\n";
 print F "To: moga\@mugu.com\n";
 print F "MIME-Version: 1.0\n";
 print F "Content-Type: text/html\n";
 print F "\n";
 print F $data;
 close(F);
}

但し /usr/lib/sendmail がなければならない。
(つまりこれは主に UNIX 系 OS 向け。Windows なら Cygwin 環境で動くかも)。




672 名前:デフォルトの名無しさん [2006/12/06(水) 18:26:52 ]
>>669>>671
有難う。
getbbs()
も雛形お願いします。

673 名前:デフォルトの名無しさん mailto:sage [2006/12/07(木) 14:00:49 ]
getbbs のサンプル

use LWP::Simple; # これはプログラムの最初に書く。

sub getbbs {
 my $url = '...' # これは実際のURLにする。
 return get($url);
}

ていうかこんなサブルーチン使わないでそのまま get() やっちゃえばいいかな。

上記のように LWP::Simple を使って串を通したい場合は環境変数の http_proxy
に串のURLをセットしておく ( proxy.hoge.com のポート 8080 の場合は
http_proxy に proxy.hoge.com:8080/ をセットしておくか
perl プログラムの中で $ENV{'http_proxy'} = 'proxy.hoge.com:8080/';
をやっておく)。
LWP::UserAgent を使って自分で色々する場合は $ua->proxy(...) のような
設定方法も使える。


674 名前:デフォルトの名無しさん [2006/12/07(木) 15:38:14 ]
>>673
ありがとうございます。
試してみます。

675 名前:デフォルトの名無しさん [2006/12/08(金) 23:46:45 ]
組織名 人名 番号(英字3つの後に数字7つ)
組織名 人名 番号(英字3つの後に数字7つ)
という風に並んでるファイルから
番号だけを取り出して
07.番号(英字3つの後に数字7つ)
と書き換えたいのですがお願いします

また、自分でもこういう丸投げはやっぱりよくないとは思うのでもし
「そんなのここ見りゃかいてあるから」みたいなサイトがあれば教えてください

676 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 00:06:03 ]
「正規表現」は知ってる?
各行の最後の10文字の前に「07.」を割り込ませる、って考えでどうだ?

677 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 09:25:32 ]
>>666
printfの間違い。
$data{$moji}は配列へのリファレンスになっているんだから、
$data{$moji}[0]なり$data{$moji}[1]なりにしないとそうなる罠。

678 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 21:28:17 ]
use Kakiko::Test;

679 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:41:49 ]
>>675
perl -ne 'if(/\s+(\w{3}\d{7})\s*$/){print "07.$1\n"}' hoge.txt


680 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:02:55 ]
FORMで受け取った文字列をCSVファイルから検索して表示させるスクリプト下さい

681 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 09:56:03 ]
grep



682 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 14:24:02 ]
「1からnまでの乱数をn個発生させ、小さい方から並べるプログラム」を作成する。
nの値をさまざまに変えて実行時間を計測せよ。
クイックソートの実行時間が理論値O(n log2 n) となるかどうか検証せよ。

683 名前:デフォルトの名無しさん [2006/12/21(木) 14:29:11 ]
このデータと解析結果、検証の結果をレポートで提出せよ。

684 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 02:32:04 ]
>>681
便乗でスマンがFORMからのデータの受け取りを
cgi-lib.plに頼らない為のヒントを教えてほしい。

685 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 03:05:30 ]
getならurl末尾、postなら標準入力
意地悪じゃなく調べればいくらでもあると思うんだが…

686 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 10:23:07 ]
CGI.pm使えよ

687 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 10:58:44 ]
>>684
CGI, 環境変数, あたりでぐぐれ

688 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 22:53:42 ]
>>685-687
ありがとね。
参考書に「難しいからcgi-lib.pl使え」ってあったから
勝手にその事については載ってないと思った。
まぁ習い始めたばかりだけど、調べたりなかったのは反省してる orz

689 名前:デフォルトの名無しさん [2007/01/11(木) 00:57:44 ]
1分に一度指定板のスレッド一覧を取得して更新があれば差分だけダウンロードして元のファイルに付け足して保存する。
ってのをPerlで作ってくれ。
いや、作ろうとしたんだよ。でも2chのページにアクセスすると403がでてな。

690 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:27:11 ]
>>689
オイスター作戦でぐぐれ。

691 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:41:41 ]
つまりMonazilla MLに参加してるツールに成りすませばいいってこと?
それとも不可能ってことかな?



692 名前:デフォルトの名無しさん [2007/01/11(木) 02:08:36 ]
リクです。
youtube内にアップされている動画のタグ情報を引っ張って来れるプログラムをお願いします。

#!/usr/bin/perl -w

use strict;
use LWP::UserAgent;

my $url = shift @ARGV;

my $ua = LWP::UserAgent->new();
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1);');


my @tags = &getTag($url);
print join(",", @tags), "\n";

sub getTag {
    my ($url) = @_;
    my @tags;
    my $content = $ua->get($url)->content;
    while($content =~ /href=\"\/results\?search_query=(.+?)\"/g){
push(@tags, $1);
    }
    return(@tags);
}

ここまで行ってるのですが、入力する動画URLの取得を自動化したいんです。

693 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 10:09:16 ]
http:// から始まるIPとホストが書いてあるアドレスを抽出したい場合の
IPとホストの表現を教えてください。








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

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

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