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

【Perl】初心者コーナー Part14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/18 16:34ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

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

CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0175hage02/07/22 15:31ID:???
gooでやってるみたいなHPのスクリーンショットをサムネイル化したリンク集できる?
Perlで。もしくはPHPで。
0176nobodyさん02/07/22 15:52ID:K2sicsKl
geocitiesはCGIつかえないの?
0177nobodyさん02/07/22 16:04ID:???
使えないよ。
0178nobodyさん02/07/22 17:00ID:???
for(my $i = "0001";$i < "0011";$i++){
   print "$i\n";
}

結果
0001
0002
・
・
・
0010

初めて知ったyo
0179nobodyさん02/07/22 17:22ID:???
どっかの本に

$prog = <<"PERL";
for($i=1;1;++$i){
$salt = substr($i."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/;:<=>?@[\\]^_`/AaBbCcDdEeFfG/;
$trip = substr(crypt($i, $salt),-8);
}
PROG

eval $prog;

こうすると、似たような処理を繰り返すとき早いとか書いてあったけど実際はどうなの?(記憶が曖昧でスマソ)
0180nobodyさん02/07/22 17:24ID:???
なんか、サブルーチンに似てるな。
0181nobodyさん02/07/22 18:42ID:7X7F8f9K
open(IN,"$log");
eval { flock IN, 2; };
@line=<IN>;
eval { flock IN, 8; };
close(IN);
すみません質問です。
このロック処理の方法はミスがありますでしょうか?
私は意味が無いような気がするんですが、
どうもこれだという理由がなくて困ってます。
0182nobodyさん02/07/22 18:50ID:???
>>181
あっちこっち書くなよ、糞虫が
2chで外国人以下の敬語モドキ使ってる暇有ったら
検索でもしろよこの中卒塗装工が
018318102/07/22 18:53ID:???
>>182
すみませんでした。
で、答えの方はー?プゥ___。
0184nobodyさん02/07/22 19:06ID:???
>>181
open(IN,"<$log");
eval { flock(IN, 2); };
@line=<IN>;
close(IN);

これのほうが良いかな〜?
018518102/07/22 19:14ID:???
>>184
そうですか〜。
わっかりました。
ほんとにですか?
0186nobodyさん02/07/22 19:16ID:???
冗談に決まってるじゃん
018718102/07/22 19:19ID:???
>>186
失礼ですが答えを知っておれますか?
0188nobodyさん02/07/22 19:25ID:???
>>186 = 嘘つき
0189nobodyさん02/07/22 19:25ID:???
ハ-ゲシクワ-ラタ
019018102/07/22 19:50ID:???
>>181
flock(XX, 1) 読込中なので書込をロック、あとから来たら待つ。(ブロック)
flock(XX, 2) 書込中だから書込読込ロック、あとから来たら待つ。(ブロック)
flock(XX, 5) 読込中なので書込をロック、あとから来たら0を返す。
flock(XX, 6) 書込中だから書込読込ロック、あとから来たら0を返す。
flock(XX, 8) ロック解除(close(XX)すれば解除なのであまり使わない)。
019118102/07/22 19:51ID:???
残りは俺の肛門。
0192Piano ◆QGZrdAAA 02/07/22 20:57ID:Ipm5/McI
どなたか>>174の質問がわかる方いらっしゃいませんか?
0193nobodyさん02/07/22 21:03ID:???
>>192
googleAPIについて勉強するのが吉。
019418102/07/22 21:06ID:???
>>174
POST限定じゃないの?
019518102/07/22 21:07ID:???
http://www.google.co.jp/search?q=in{'$word'}&btnI=I'm+Feeling+Lucky
これならいける?
019618102/07/22 21:10ID:???
&ieとか書くと駄目だね。
わかったか厨房?プゥ___。
019718102/07/22 21:17ID:???
>>Piano ◆QGZrdAAA
195の方法で出来たんだろ?
無視かよ!
0198nobodyさん02/07/22 21:19ID:???
るせヴァカ
019918102/07/22 21:20ID:???
>>198
はぁ。はいはい。
0200nobodyさん02/07/22 21:34ID:???
>>199 煎って葦!
0201nobodyさん02/07/22 21:36ID:???
   ∧  b
  /●ヽ/
 (∧_∧)  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 質問前に過去スレ検索モナー。
 (    )  \_____
 | | |
 (__)_)
0202Piano ◆QGZrdAAA 02/07/22 22:36ID:???
>>195
行けました!
どうもありがとうございました!
0203nobodyさん02/07/22 22:58ID:11nH30Zk
KENTの掲示板弄ってて、色々エラー出るんで文法チェックのスクリプト通しながら
虫取りしてるんですが、たびたび「@〜は\@〜と書け」ってな表示に遭遇します。
これは多分配列を認識してないんだと思うんですが、原因が分からないんです。
どこか変ないじり方しちゃったんでしょうか。

なんか全部の配列について同じように警告されてる感じなんですが。
0204nobodyさん02/07/22 23:01ID:???
「'」とか「"」でくくっているのでは?
本当にそうなるかはわからないけど。
0205 ◆JAPH9PWA 02/07/22 23:04ID:???
>>203
配列とは関係なく、
単に"[email protected]"を"foo\@mailaddress.com"にせよ、という意味だと思われ。
020618102/07/22 23:22ID:???
>>202
返事がおせぇーよ。
じゃぁな。プゥ___。
0207nobodyさん02/07/22 23:28ID:11nH30Zk
えと、
In string, @lines now must be written as \@lines at yybbs.cgi line 285, near "@lines"
って書かれるんですけど、285行には@linesなんてないし、@linesが含まれる行は
ログの取り込み処理とかそういうので、どこもいじってないはずなんです。
ひょっとしてどこかでクォーテーション閉じ忘れたとか、そんなことでしょうか。
見直してますが、2600行ぐらいあるんで大変です。
020820302/07/22 23:28ID:11nH30Zk
すいません、>>207は俺です。
0209nobodyさん02/07/22 23:30ID:???
>>208
285行前後を良く見るんだ。 ; の付け忘れとか。
0210nobodyさん02/07/22 23:33ID:???
悪い事は言わんからその辺のFAQ読みながら
自分で50行位書いてみれ、それが出来たら解決する。
どっかで行か何か閉じるの忘れてるんだろけど…
021120302/07/22 23:42ID:11nH30Zk
えと、色々見直したらヒアドキュメントの閉じ方が変になってるのを発見しました。
ってか、頭の方のEOMが小文字になってました。
なんか変な置換かけちゃったみたいです。
お騒がせしました。
021216802/07/22 23:53ID:???
integerの間違いです
結局無理って事ですよね?
0213nobodyさん02/07/23 00:20ID:???
Cで言うところのenumerationってどうやってます?
%e = (abc => 0, xyz => 1, ... , xxxx => 99)なんてのをスマートに初期化したい。
0214nobodyさん02/07/23 00:40ID:8Y4x0Hwt
質問があります。

例えば、$dataという変数のなかに、ABという文字列がいくつあるか
カウントすることはできますか?
0215nobodyさん02/07/23 00:40ID:???
>>213
ハッシュとか配列じゃ不満?
0216nobodyさん02/07/23 00:43ID:Cp6+hfm6
掲示板を作成中なのですが、
設定された最大記事数を越えると過去ログに行くようには出来るのですが、
管理人の任意の時に、表示されている記事を過去ログに行かせるというのがうまく出来ません。
何か良い方法はないでしょうか?お願いします。
0217nobodyさん02/07/23 00:43ID:???
すみません、さっきの質問取り消します。
0218214=21702/07/23 00:44ID:???
すみません
0219nobodyさん02/07/23 00:48ID:???
>>216
日本語として成立してない気がします。
0220nobodyさん02/07/23 00:52ID:8Y4x0Hwt
print $xの出力が

あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの

だった時、最初の3行のみを表示するには、どうすればよいでしょうか?
022121302/07/23 00:56ID:???
>>215
ハッシュでやろうとしてるけど、abc => 1, xyz => 2と数値を直接書くのはださいので
かっちょいい書き方(初期化)があるかなと。
0222☆02/07/23 00:58ID:hvIhNQI1
http://www.t-cnet.or.jp/~heaven/adultranking/rankem.cgi?action=in&id=yama
0223nobodyさん02/07/23 00:58ID:???
>>220
出力しちゃったらどうにもなりません。

ああ、UNIXなら

perl a.pl | head 3

でOKか。
022421602/07/23 01:01ID:Cp6+hfm6
>>219
掲示板に書き込みがあり、ある一つの話題で盛り上がる
↓
その話題が終わる
↓
※管理人が、その話題に関する書き込みをまとめてpast.htmlに送る
↓
各過去ログ(past1.html past2.html〜)に飛べるようにする

という風にしたいのです。分かりにくかったらすいません。
0225 ̄ ̄ ̄ ̄02/07/23 01:01ID:???
%e = (abc => 0, xyz => 1, ... , xxxx => 99)なら、

@e{qw(abc xyz)}= (0 .. 1);
022621302/07/23 01:12ID:???
>>225 それ、かっこいいですね。いただきっ。ありがとうございました。
0227nobodyさん02/07/23 03:58ID:???
>>226
my @symbols = qw/ foo bar baz /;
my %e;
@e{@symbols} = (0..$#symbols);

TMTOWTDI
0228nobodyさん02/07/23 04:02ID:???
>>227
さらにそれをuse constantで定数化しちゃうというのも・・・
BEGIN
{
my @symbols = qw/ foo bar baz /;
my %e;
@e{@symbols} = (0..$#symbols);
while( my($name,$value) = each %e ) {
eval sprintf( 'use constant ENUM_%s => %d', uc($name), $value );
die if $@;
}
}
print ENUM_FOO, "\n";
0229nobodyさん02/07/23 04:22ID:???
>>179
それじゃあ$iとかが全部その時の値に置換されちゃうじゃん・・・

ともかく、文字列をevalするのは遅い。そういうことをするのは例えば
AUTOLOADを使って動的に関数を作成するときとかだけだと思うよ。
そうすると2度目からはAUTOLOADを通さずに関数が呼び出されるからその分
早くなるので。
0230yuri02/07/23 08:42ID:???
gooでやってるみたいなHPのスクリーンショットをサムネイル化したリンク集できる?
Perlで。もしくはPHPで。
教えて下さい、お願いします。
ちなみに私は17歳・女です。
0231nobodyさん02/07/23 08:58ID:???
>>230
うむ、死ぬ気でHTMLパーサ書いてデザインしてくれ。
0232 ◆JAPH9PWA 02/07/23 09:21ID:???
>>228
そのくらいならenum.pmを使ってほしい。
use enum qw(FOO BAR BAX);
0233nobodyさん02/07/23 09:23ID:???
>>232
えー、enum.pm標準じゃないじゃん。いや、どっちでもいいんだけど
0234nobodyさん02/07/23 09:58ID:???
固定ハンドル=低スキル
0235nobodyさん02/07/23 09:59ID:???
>>234←それにすら劣ると。
0236nobodyさん02/07/23 10:23ID:???
固定ハンドルは死ね
0237nobodyさん02/07/23 12:25ID:???
コテハンよりお前らの方がウゼー
0238nobodyさん02/07/23 12:33ID:???
>>230
>ちなみに私は17歳・女です。
誰が信じるか!(・э・)
0239nobodyさん02/07/23 13:17ID:???
>>230
信じる以前に、そんな意味の無いことを書く奴はうせろ
0240nobodyさん02/07/23 13:40ID:???
       ∧             ∧
       /.::ヽ           /.:: ヽ
      /.::: ヽ          /.:::: ヽ
      /.:::  ヽ         /.::::  ヽ     このスレは一体
     /.::::::.  ヽ,,,,,,,,,,,,,,,,,,,,,,,,,,,/.::::::::.  ヽ
    /.:::::::::::                 ヽ       何なのですか         
    /.:::::::::   /        ヽ     ヽ
   /.:::::::   / ‐・‐     ‐・‐\     ヽ
   ヽ.::::::       .::::            /
    ヽ.:::::      .:::::            /
     ヽ.::::     \__/      /
      ヽ.::::      \/       /
       \.:::::            /
0241yuri02/07/23 14:19ID:???
>>238
信じてください。
0242yuri02/07/23 14:20ID:???
>>239
出来るの?出来ないの?どっち?
0243yuri02/07/23 14:21ID:???
質問する側の態度は丁寧なのに対して
答える側の態度は悪すぎですね。
絵梨悲しいです。
0244nobodyさん02/07/23 14:28ID:???
> 1:自分はこう言う事がしたい。
> 2:それでこんな風にやってみたが・・・
> 3:それだとこんなエラーが出て上手く行かなかった。
>
> 1と3が無いと誰も答えられないよ。
> 良い回答は良い質問から。一緒に勉強しましょう。

質問のテンプレートが>1に用意されてるのに無視か?
その癖誰も聞いちゃいねえ話を一人でしてる。
態度が丁寧だってなら、書き込み内容の要不要くらい判断しろ。
0245nobodyさん02/07/23 14:29ID:???
>>243 ここの厨房どもには無理
0246nobodyさん02/07/23 14:30ID:???
加えて、PHPの話ならスレ違いだ。
どんなに態度が丁寧でも、郵便局で牛丼頼むような奴にまともな対応が返ってくるなんて思うな。
0247nobodyさん02/07/23 14:30ID:???
おいコテハン野郎
こんな質問に答えてこそ存在意義を示せるってもんじゃないか。
答えてやれよ
0248nobodyさん02/07/23 14:44ID:???
>>230
できるかできないか聞いているならできる
教えてあげたんだからこれ以上くる必要はないから来ないでね。>>1もまともに理解できない人は。
0249nobodyさん02/07/23 14:54ID:???
JAPH

というのは
just another perl hacker
の略のですにゃん◆JAPH9PWA は神なのですにゃの
php板では最強なの(´ω`)/
>>◆JAPH9PWA
ただもう出てこないでまじで
名無しで受け答えしてもなんの問題もないやん
マ板では相手にしてもらえなかったのか(泣
0250nobodyさん02/07/23 14:57ID:???
具体的な方法を尋ねたらダンマリを決め込むであろう248がいるスレッドはここですか?
0251nobodyさん02/07/23 15:03ID:???
コテハン答えろ!!!!
0252yuri02/07/23 15:16ID:???
>>244
だって、私初心者ですよ?
書き方も考え方も分からないのに・・酷すぎます。
0253nobodyさん02/07/23 15:18ID:???
>>252
ハァ?
0254ハァ? 02/07/23 15:19ID:???
ハァ?
0255yuri02/07/23 15:20ID:???
助けて頂けませんか?
0256yuri02/07/23 15:21ID:???
皆で頑張りましょうよ!
力を合わせればきっと出来ます!
0257nobodyさん02/07/23 15:22ID:???
どれが本物で、どれが似非物だ?
0258nobodyさん02/07/23 15:29ID:???
http://team7.s8.xrea.com/contents/osietekun.htm
0259nobodyさん02/07/23 16:13ID:???
>>yuri
出来るよ、ImageMagickで検索してみ
ただこれのHTMLパーサは10年前の代物だから、このままだと
話にならない。
*nixならmozillaやGaleonにレンダリングして貰っても良いんだけど
普通はサーバにブラウザなんか入って無い、と言うかXさえ走って居ない
やるなら、Mozillaのソース追ってXLSだっけ? でperlから叩ける様に
してやるのが一番良さそうだが俺はやった事が無い
WINならIEコントロールかな?
http://www.nk.rim.or.jp/~t_kimata/cgi/
ここの管理人が前に色々やってたな
0260nobodyさん02/07/23 16:16ID:???
その部分は公開していないのが残念だな。
0261nobodyさん02/07/23 16:23ID:???
長文ウザイ
もっと分かり易く教えろやヴォケが!
0262nobodyさん02/07/23 21:08ID:???
japu痰がいた頃はもっとまた−りしてたけどなぁ。
0263nobodyさん02/07/23 21:43ID:???
>>262
同意
良スレだったんだが・・・・
夏のせいか
0264nobodyさん02/07/23 21:52ID:???
初心者がここに質問きて
ぼろくそに言われて、荒らしになったと思われ

最近、回答者も”俺は偉いんだぞー病”にかかってるの居るからなー
0265nobodyさん02/07/23 21:55ID:???
>>264
Perlできてもなぁ・・・。
あのシェルスクリプトからの成り上がりっぷりがくさくて嫌い。
0266nobodyさん02/07/23 21:56ID:???
>264
最近の事じゃないけどな。
初期からずっとだよ。

さて、気を取り直して。


1 名前:nobodyさん 投稿日:02/07/18 16:34 ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0267nobodyさん02/07/23 22:03ID:???
>>266
CGI改造したら、サーバーダウンさせっぱなし…追放されちった…
開発者向けでないテストサーバー知ってる人いますか?
出来れば無料…
知らないか…    
0268nobodyさん02/07/23 22:24ID:???
localhost
0269nobodyさん02/07/23 22:35ID:hYANtpdN
>>267
http://www.kent-web.com/www/index.html
0270nobodyさん02/07/23 22:43ID:???
>>269
ネタマルチは放置しませう
0271nobodyさん02/07/23 22:58ID:???
掲示板で1度書き込みした後、更新する度にその書き込みが書き込まれていく原因として何が考えられます?
お願いします。
0272nobodyさん02/07/23 23:02ID:???
>>271
激しく仕様。
0273nobodyさん02/07/23 23:24ID:dbl+1Fdv
>>271
bbs.cgi?name=giko&msg=itteyoshi
こんなのがリロードされたら連続書き込みになっちまうだろ。
書き込みを受け取ったら、
Location: bbs.cgi
で飛ばすがよろし。
0274nobodyさん02/07/23 23:44ID:???
>>273
thanks
初心者にとっての頼みの綱であるこのスレを守っていってください。
さよなら。
■ このスレッドは過去ログ倉庫に格納されています