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

Perl コーディング初心者質問コーナー Part34

■ このスレッドは過去ログ倉庫に格納されています
0001前スレの連投で気分崩したので後よろ04/04/05 16:01ID:???
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

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

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0486nobodyさん04/05/02 22:05ID:???
$"='';
or
chomp(@data);
048748504/05/02 22:21ID:???
>>486
なるほど、$"でスカラー変数出力時の区切り文字を変更できるんですね。
試してみたら奇麗に出力出来ました。本当にありがとうございました。。。
048848504/05/02 22:24ID:???
ぐわ、スカラー変数じゃなくて配列だった。。。
今まで一々ヒアドキュメントを終了させてからforeachで出力していたので本当に助かりました。。。
0489nobodyさん04/05/03 00:22ID:???
a
0490nobodyさん04/05/03 00:34ID:???
>>484
ありがとうございます。
安心しました。
0491nobodyさん04/05/03 01:11ID:???
      パンチ5分の2を喰らえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0492nobodyさん04/05/03 01:12ID:???
      パンチ5分の2を喰らえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0493nobodyさん04/05/03 01:14ID:???
      パンチ5分の2を喰らえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0494nobodyさん04/05/03 01:14ID:???
      パンチ5分の2を喰らえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0495nobodyさん04/05/03 01:15ID:???
      パンチ5分の2を喰らえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | /=^   |/ /::ャm
  | =@  ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0496nobodyさん04/05/03 03:58ID:???
 
0497nobodyさん04/05/03 04:33ID:???
絡まれて大変なスレですね
0498nobodyさん04/05/03 04:41ID:???
別に何とも思ってない
0499nobodyさん04/05/03 04:48ID:???
そのウチ削除人が消してくれると思うし。
て言うかこいつ一年くらい前からいるんですよ。
0500nobodyさん04/05/03 05:18ID:???
一年・・・。皆さん大人の対応ですね
0501nobodyさん04/05/03 05:29ID:???
ああ。もう1年経つのか。早いなあ。
確か誰にも理解できない日本語で質問(っていうか書き込み)して、
無視した(っていうか何を答えたらよいか誰も分からなかった)ら、
「初心者には不親切だ」って勝手に切れて粘着してる。
ちゃんと質問すればちゃんと答えるのにねえ。
0502nobodyさん04/05/03 12:58ID:???
うむ。俺も当時から居るが、
よく続くと関心するくらいだ
たしか格ゲースクリプトだっけな
0503nobodyさん04/05/03 13:22ID:???
「パンチを5分の2にする方法を教えてください」だったっけ。
punch *= 2.0/5.0;
終了
0504nobodyさん04/05/03 14:42ID:???
AAもそれなりに進化してて面白いね。
0505nobodyさん04/05/03 14:45ID:???
進化はAAだけ(ry
0506nobodyさん04/05/03 20:26ID:???
進化していくAAをNGワードに入れていってるから、うちのngword.txtもかなり進化した。
来てたのわからなかった。
0507nobodyさん04/05/03 23:50ID:???
>>506
最近のスパムフィルタみたいだね。
0508nobodyさん04/05/04 12:04ID:???
あぁ、懐かしいな…。
たまにアク禁されるのかパタリと来なくなるんだよね。
でもそういう時、あいつどうしてるんだろう・・・とちょっとモヤモヤして気になるんだよ。
0509nobodyさん04/05/04 16:43ID:???
一度Rock54にされたらしい。やっほー接続だったかな。
0510nobodyさん04/05/04 18:59ID:???
例えば、ブラウザから100MBのファイルをPOSTすると「サイズが大きすぎ!」とエラー表示させてますが、
エラー表示されるまでに時間がかかります。
(ブラウザがアップロードに専念しているため)

つまりはブラウザのアップロード処理を中断させて、
即エラー表示させたいのですが、Perlで制御できますか?
0511nobodyさん04/05/04 19:04ID:???
>>510
なんでエラーにするようなサイズをアップロードさせるわけ?
最初から受け付けなきゃいいだろ。
0512nobodyさん04/05/04 19:33ID:???
もしかしてアップロードして100MBきたら処理打ち切りとかやってんのー?
ISDNのおじさんブチ切れますよ?
初めからファイル容量計算しろ
0513nobodyさん04/05/04 19:49ID:???
だからそのはじめにファイルサイズを計算する方法がわらないんですってば!
0514nobodyさん04/05/04 19:55ID:???
      おまえらのせいでエラーばっかだぜえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0515nobodyさん04/05/04 19:56ID:???
      おまえらのせいでエラーばっかだぜえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0516nobodyさん04/05/04 19:57ID:???
     エラーばっか出す、嘘ばっか教えんじゃねえええええええええ!!
                    _ /- イ、_
           __        /: : : : : : : : : : : (
          〈〈〈〈 ヽ     /: : : : ::;:;: ;: ;:;: ; : : : ::ゝ
          〈⊃  }     {:: : : :ノ --‐' 、_\: : ::}
   ∩___∩  |   |      {:: : :ノ ,_;:;:;ノ、 ェェ ヾ: :::}
   | ノ      ヽ !   !   、  l: :ノ /二―-、 |: ::ノ
  /  ●   ● |  /   ,,・_  | //   |/ /::ノ
  |    ( _●_)  ミ/ , ’,∴ ・ ¨  〉(_二─-┘{/
 彡、   |∪|  /  、・∵ ’  /、//|  ̄ ̄ヽ     
/ __  ヽノ /         /   // |//\ 〉
(___)   /         /    //   /\ /
       /          /        /    
      ↑初心者         Perlオタク↑
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ    Perlオタクを!首吊って引き殺せ━━━━━!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
ここは不親切な奴ばかりで死んでほしいね!初心者質問は禁止!!質問した者は
荒らしと同罪!!!<終終終               了了了><書き込み禁止>
0517nobodyさん04/05/04 19:58ID:???
                   ,....':::::::::::::゙=:::::、
                 /::::::::::::::::::::::::::::::::゙:、
.                /:::::::::::::::::::,r-:::::::::::::::::゙::、
..               ,l':::::::::::::::::::/-〃゙゙''''''゙\:::::::゙、
                l:::::::::::::::::::,l' ll'l    ゙l;:::::::l,
               ,;:::::::::::::::::::l  .ll.l..    l:::::::::l
              ,ィ:::::::::::::,r-- '''''--=-'l''=-''り::::l
             〃::::::::::::::l'   ゙ - ' ;. l゙ - ' l::::::l   ここのスレには…
             ソ::::::::::::::::l     , ア__,.l,.('' .t:::::j'
.             l::rk:::::::::::::゙l   ,..'゙-、=-:,.゙ t ゙レ   書き込まないで…ほしいです…
             ゝj:::::::,、::::::゙、  ; -==ヲ'弋''''{ ゙l,
            ,.-'::;==' ノ::::::::>'~::::゙=、_,l,.;'゙^'''゙l. ゙、
         ....,.=''   ,,〃'ヘ:::/:::::::::::::::::゙l爪.     l,
        ,.r'',:,:,:,:,:,^~",:,:,:,:,:,:,:7'''',=';,''''ヘ:ノ爻゙、   ,.=''-、
        k,:,\、,:,:,:,:,:,:,:,:,:,l,:,:,:,:/ (ふ勺 ,''l' j::l ゙l,-='',:,:,:,:,:,:゙、
       ,l',:,:,:,:゙、,:,:,:,:,:,:,:,:l,:,:,:,:l---===,,'.j^~:::l ,-゙,:,:,:,:,:,:,:,:,:,:,゙、
       /,:,:,:,:,:,:,゙、,:,:,:,:,:,:j,:,:,:,:,:l l':::::゙ュ), l.,' ;::;,/,:,:,:,:,:,:,:,:,:,:,:,:,:,:,ヘ
      j,:,:,:,:,:,:,:,:,:,゙、,:,:,:,:,l,:,:,:,:,:,k:::::::ヒ_l .;:::ll,:,:,:,:,:,:,l,:,:,:,:,:,:,:,:,:,:,ハ
      ,l,:,:,:,:,:,:,:,:,:,:,:,z,:,:,:,l,:,.,. '^.、::_:j':::::::::::::::::::l,:,:,:,:,:,:,:\,:,:,:,:,:,:,:,:,:,:,\
051851204/05/04 19:58ID:???
ハーン
おじさんマジ切れますよ?I/Oの関数みろYO!!!

@stat=stat $file;
$size=$stat[7];

if(104857600<=$size) print "100MBより多いぞゴルァ";
0519nobodyさん04/05/04 19:59ID:???
        /⌒ヽ⌒ヽ
         ....:::..∧Y∧ .
        .::::::::. ・ ・ ::ヽ  
     (     )●(  )  初心者書き込み禁止!!
      丶     ー  /    BY PERLオタク
        l,       j    
       i     i   .j
        |     八   |
         {        }
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |
0520nobodyさん04/05/04 20:01ID:???
        /⌒ヽ⌒ヽ
         ....:::..∧Y∧ .
        .::::::::. ・ ・ ::ヽ  
     (     )●(  )  初心者書き込み禁止!!
      丶     ー  /    BY PERLオタク
        l,       j    
       i     i   .j
        |     八   |
         {        }
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |
0521nobodyさん04/05/04 20:02ID:???
        /⌒ヽ⌒ヽ
         ....:::..∧Y∧ .
        .::::::::. ・ ・ ::ヽ  
     (     )●(  )  初心者書き込み禁止!!
      丶     ー  /    BY PERLオタク
        l,       j    
       i     i   .j
        |     八   |
         {        }
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |
0522nobodyさん04/05/04 20:02ID:???
        /⌒ヽ⌒ヽ
         ....:::..∧Y∧ .
        .::::::::. ・ ・ ::ヽ  
     (     )●(  )  初心者書き込み禁止!!
      丶     ー  /    BY PERLオタク
        l,       j    
       i     i   .j
        |     八   |
         {        }
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |
0523nobodyさん04/05/04 20:03ID:???
        /⌒ヽ⌒ヽ
         ....:::..∧Y∧ .
        .::::::::. ・ ・ ::ヽ  
     (     )●(  )  初心者書き込み禁止!!
      丶     ー  /    BY PERLオタク
        l,       j    
       i     i   .j
        |     八   |
         {        }
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |
0524nobodyさん04/05/04 20:05ID:???
592 名前: nobodyさん [] 投稿日:03/08/07 16:03 ID:MNjVgF7U
ゲームで、対戦で、攻撃はパンチとキック、どちらかは2分の1
パンチの場合は、5回に1回はダメージ低い。
さらに5分の2の確率でミスをする。

というのを、1ターンの各攻撃を下のスクリプトに書いたが動かない
誰かこの初心者を助けてください
0525ちょっと入れ子して綺麗にしてみた04/05/04 20:11ID:???
593 名前: nobodyさん [] 投稿日:03/08/07 16:03 ID:MNjVgF7U
プレイヤー1は$play11の攻撃
プレイヤー2は$play22の攻撃

$play11 = $sentaku1   //Syntax Error
$play22 = $sentaku1   //Syntax Error
$kik = 60  //Syntax Error

$sentaku ={  //Syntax Error
 $play1 = int(rand 2)  //Syntax Error
 if($play1 == 0) $kik  //Syntax Error $kikって何だよオブジェクトか?で、メソッドは?
}  //Syntax Error

else($play1 == 1) {  //Syntax Error Elseに条件つけんなよw
 $bougyo = int(rand 5) //Syntax Error だからセミコロン・・・
 if($bougyo =< 1)   0;
 else($bougyo >= 2) 1;
}

{  //Syntax Error  エエエエ・・・・ なにこの括弧
 $panti = int(rand 5);
 if($panti == 0)  $panti1 = 10;
 else($panti > 0) $panti2 = 20;
 }  //Syntax Error 括弧・・・
  * $bougyo;  //Syntax Error  おい、オペランド足りんぞ
 }  //Syntax Error 括弧・・・
}  //Syntax Error 括弧・・・


括弧の対応おかしいーーwww
052651004/05/04 20:12ID:???
いえいえ、サーバー側でファイル化する前にCONTENT_LENGTHで判断してます。
念のためにファイル化した後もサイズチェック。

なにかしら処理途中でレスポンスヘッダを送信できれば、
アップロードに専念しているブラウザも止められるかなぁ?
・・・と、考えつつも案が浮かばず放置している状態なのです。
0527nobodyさん04/05/04 20:13ID:???
>>526
>念のためにファイル化した後もサイズチェック。
だから、その行為がクライアントから見ると「アップロード」になるわけで・・・
CONTENT_LENGTHで判断するだけでいいだろ
0528nobodyさん04/05/04 21:35ID:???
>>510
http://httpd.apache.org/docs/mod/core.html#limitrequestbody
Apacheであれば、規定量を超えたら413(Request Entity Too Large)が
返るように設定できるけど、クライアントを止められるかどうかは不明。

同様の処理はmod_perlであればヘッダ解析フェーズで可能かも。
CGIレベルでは無いことは確か。
0529nobodyさん04/05/04 21:56ID:???
だから527が言ってるようにCONTENT_LENGTHで(ry
(´-`).。oO(なんで鯖までいじらにゃならんのよ・・・)
053051004/05/04 22:00ID:???
やはりPerlへ処理が渡された時点で手遅れみたいですね。
残念だけど諦めます。

> CONTENT_LENGTHで判断するだけでいいだろ
申し訳ない。今のロジックをみたらCONTENT_LENGTHのチェックと、
STDINからデータ取得時のチェックの二段階だけだった。
0531nobodyさん04/05/04 22:02ID:???
>592 名前: nobodyさん [] 投稿日:03/08/07 16:03 ID:MNjVgF7U

my @attack = (
sub {
my($damage, $rate) = (100, 10);
$damage *= 1 + ((1 / 2 <=> rand) * rand $rate) / 100;
$damage *= 1 / 3 unless int rand 5;
$damage = 0 if 2 > rand 5;
'パンチ', int $damage;
},
sub {
my($damage, $rate) = (200, 10);
$damage *= 1 + ((1 / 2 <=> rand) * rand $rate) / 100;
'キック', int $damage;
}
);

for (1..20) {
print $attack[rand 2]->(), "\n";
}
0532nobodyさん04/05/05 13:19ID:???
Cookieクリアについて質問ですが、「ブラウザ(セッション)を
閉じたとき」にCookieをクリアするためにはexpiresを空に、
有効期限を決めるにはexpiresを設定すればいいだけのこと
ですが、この2種を同居させることは不可能でしょうか。

つまりやりたいことは、「有効期限を設定しておいても、ブラウザ
が閉じられればCookieはクリアされる」ということです。

うまくいかないので質問させていただきました。
宜しくお願い致します。
0533nobodyさん04/05/05 13:42ID:???
>>532
勘違い擦れ違い板違い
0534nobodyさん04/05/05 15:22ID:???
>>533
申し訳ありません。
違うところで質問させていただきますね。
0535nobodyさん04/05/05 17:38ID:???
>>532
Netscapeベースの一般的なクッキーだと不可能。
クッキーの中に有効期限を書いておき、サーバ側でチェックするとか。
0536 ◆Emx7X7JtuI 04/05/05 21:16ID:jTThsR/v
質問させて頂きますm(_ _)m

$day = "20040505";
の時、$dayから 2004、05、05を分けて取り出すには、
$yyyy = substr($day, 0, 4);
$mm = substr($day, 4, 2);
$dd = substr($day, 6, 2);

とするしかないでしょうか?
もう少し良い方法がありましたらご教授お願いします。
0537nobodyさん04/05/05 21:40ID:???
>>536
これでどうかな
($yyyy, $mm, $dd) = unpack("a4a2a2", "20040505");
0538nobodyさん04/05/05 21:40ID:???
>>536
TMTOWTDI.

# substr
my($yyyy, $mm, $dd) = (substr($day, 0, 4), substr($day, 4, 2), substr($day, 6, 2));

# unpack
my($yyyy, $mm, $dd) = unpack 'A4A2A2', $day;

# パターンマッチ
my($yyyy, $mm, $dd) = $day =~ /^(\d{4})(\d\d)(\d\d)/;

# 回りくどい方法
my @tmp = split //, $day;
my $yyyy = join '', splice @tmp, 0, 4;
my $mm = join '', splice @tmp, 0, 2;
my $dd = join '', @tmp;
0539nobodyさん04/05/05 21:45ID:???
printf "%d %d %d", $day =~ /^(\d{4})(\d{2})(\d{2})$/;
0540 ◆Emx7X7JtuI 04/05/05 21:49ID:???
>>537-538
ありがとうございます!
umpackという手がありましたね。
これでいこうと思います。

>>538
>#バターンマッチ
この書き方がよく分かってないんですよ<私
サンプルソースを写して、何となくうまくいってるって感じで(汗)
がんばって勉強します!
0541540 ◆Emx7X7JtuI 04/05/05 21:50ID:???
>539 �dクス
0542nobodyさん04/05/05 22:22ID:???
複数の異なるサーバー間で、アクセス規制用に.htaccessファイルを同期させる為のCGIを作ろうと思ってます。

.htaccessのファイルの内容を、指定したサーバーの順番に、Socketでデータと一緒にPOSTして、受け取ったCGIでそれを元の.htaccessと書き換えるという流れで逝きたいんですが、
一つのデータ送信+ファイル更新用の親CGIと、受信+ファイル更新用の子CGIという仕組みです。
私はPerl初心者で、今までソケットについては一切書いてないので知識が無いので、
最近ネットでPerlのSocket.pmについて調べてるんですが、どうもソケットについて詳しく解説してるサイトが無くて困ってます。

何方かSocketについての解説サイトをご教授してください。
0543nobodyさん04/05/05 22:26ID:???
.htaccess その物を送ったほうが速いんで内科?
0544nobodyさん04/05/05 22:26ID:???
.htaccess その物を送ったほうが速いんで内科?
054554204/05/05 22:29ID:???
WEB上で親CGIでIP・リモホなどを追記して送信するだけで登録されたサーバーに一度に同期させたいからです。

私自身、10つのサーバーで複数のコンテンツを公開してるので。。。
アップロードファイルがこんがらがってるのでこういうCGIを実装したいのです。
0546nobodyさん04/05/05 22:33ID:???
cron+scpでダメな理由を述べよ
0547nobodyさん04/05/05 22:34ID:???
cron+scpでダメな理由を述べよ
0548nobodyさん04/05/05 22:35ID:???
ま、スレ違いだな
0549nobodyさん04/05/05 22:35ID:???
俺>>543じゃないんだけど、同じ失敗してるな。
「書き込みに失敗した模様」でも書きこめてるっぽい。
0550nobodyさん04/05/05 22:37ID:???
548だけどやっぱり書き込みおかしい?
この板だけじゃないけどすんなり書き込めななくなったな。
0551nobodyさん04/05/05 22:49ID:???
↓ここのフリーCGIマジおすすめ。どこのサーバーでもいけるぞ

http://www.accesstrade.net/at/c.html?rk=010003h3000dcb
http://www.accesstrade.net/at/r.html?rk=010008la000dcb
0552nobodyさん04/05/05 23:24ID:???
>>542
Socket.pmが使えるということは、標準モジュールが使えるのだから、
IO::Socket::INETを使えばハンドル操作だけで楽になるよ。
さらにLWPモジュール群を使えば、ハンドル操作さえ不要に。
0553nobodyさん04/05/06 02:57ID:???
Perlを1年ぶりに勉強
前のレベルに戻すまで1ヶ月はかかるからよ

          ∧_∧
    ∧_∧  (´<_`  ) 今ちょうど
   ( ´_ゝ`) /   ⌒i 人生最大の危機に
   /   \     | |  直面しているな
  /    / ̄ ̄ ̄ ̄/ |
__(__ニつ/  FMV  / .| .|____
    \/____/ (u ⊃
0554nobodyさん04/05/06 17:07ID:???
スクリプト言語ごときで人生最大の危機ですか
0555nobodyさん04/05/06 18:11ID:???
首切りが掛かってるんですよ。もう必死です。
0556nobodyさん04/05/06 21:28ID:???
↓このようなxmlファイルがあるとして
---- xml2.xml ----------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<data>
    <shop num="01">
        <name val="a">AAAshop1</name>
        <name val="b">AAAshop2</name>
        <tel>012-345-6789</tel>
    </shop>
    <shop num="02">
        <name>BBBshop</name>
        <tel>098-765-4321</tel>
    </shop>
</data>
------------------------------------------------------
0557続き04/05/06 21:29ID:???
↓のperlを実行すると
------------------------------------------------------
#!/usr/local/bin/perl
use XML::DOM;
$xmlfile = "./xml2.xml";
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile ("$xmlfile");
my $nodes = $doc->getElementsByTagName ("shop");
my $n = $nodes->getLength;

for (my $i = 0; $i < $n; $i++){
    my $node = $nodes->item($i);
    my $attr = $node->getAttribute("num");
print $attr."-attr\n";
    my $child = $node->getElementsByTagName("name");
    my $nn = $child->item(0);
    my $val = $nn->getAttribute("val");
print $val."-val\n";
    my @child_val = $node->getElementsByTagName("name");
    my $child_val = $child_val[0];
print $child_val."-child_val\n";#●
}
------------------------------------------------------
0558続き204/05/06 21:29ID:???
------------------------------------------------------
01-attr
a-val
XML::DOM::Element=ARRAY(0x843e234)-child_val
02-attr
-val
XML::DOM::Element=ARRAY(0x84406fc)-child_val
------------------------------------------------------
このような表示になります。
●の部分が「XML::DOM::Element=ARRAY(0x843e234)-child_val」こうなってしまいますが
「AAAshop1」や「AAAshop2」「BBBshop」を取得するにはどうすれば良いのでしょうか?
0559nobodyさん04/05/06 21:41ID:???
formからPOSTをつかってフォームの値をperlによって受け取っているんですが、
今までテキストか、リストによるものだけだったんですが
今回、チェックボックスを使いたいんですが、
どのようにperl側に情報が送られてくるのでしょうか・・・。
0560nobodyさん04/05/06 21:55ID:???
>>559
実際に受け取ってみればいいじゃん
056155904/05/06 22:00ID:???
>>560
初心者ですいません。
受け取ってそのまま表示させるにはどうすればいいですか・・・(´Д`)
0562nobodyさん04/05/06 22:12ID:???
>>556-558
それ自分で書いたコードじゃないだろ
0563nobodyさん04/05/06 22:25ID:???
>>561
GETで渡して$ENV{'QUERY_STRING'}を表示すれ。
056455904/05/06 22:41ID:???
>>563
ありがとうございます!
0565nobodyさん04/05/06 23:47ID:21UK75Lz
>>558
my @child_val = $node->getElementsByTagName("name");
my $child_val = $child_val[0];

の部分を

my $child_val = $nn->getFirstChild->getData;
0566556-55804/05/07 10:22ID:???
>>562
全文は自分で書いてませんが
ttp://member.nifty.ne.jp/hippo2000/perltips/xml/dom.htm
を参考に部分部分を変えて書きました。

>>565
ありがとうございます!ばっちり表示できました。
おかげ様でやっと次の段階に進めそうです。
0567nobodyさん04/05/07 12:50ID:p3Wu+afh
$honbun = "aaabbbcccdddeeefffコーヒー";
$honbun =~ s/$FORM{'text'}/<font style=\"background:#00ffff\">$FORM{'text'}<\/font>/g;
print "本文=$honbun";
というプログラムで本文を置換したいんですけどフォームからaaaなどを入力してもエラーにはならないけど
コーヒーと入力するとエラーになってしまいます。
どうしたらコーヒーと入力してもエラーがでないんでしょうか?
0568nobodyさん04/05/07 13:07ID:???
>>567
>>1読んで。
どんなエラーかわからない事にはまともな答えは期待できない。
0569nobodyさん04/05/07 14:10ID:???
>>567
\Qマルチポスト(・∀・)ニヤニヤ\E
0570nobodyさん04/05/07 15:03ID:???
サニタイズするよろし。
$honbun = 'aaabbbcccdddeeefffコーヒー';
$keyword = 'コーヒー';
$keyword =~ s/([\+\*\.\?\^\$\[\-\]\|\(\)\\])/\\$1/g;
$honbun =~ s/($keyword)/<b>$1<\/b>/g;
print "本文=$honbun";
0571nobodyさん04/05/07 15:35ID:???
@filesという配列の中に10〜15個程度の要素が入ってるのですが
これをHTML上に表示するにはどのようにすればよいのでしょうか?
現在は$files[1]〜$files[15]というように1個1個記述してます。
何か良い方法があればアドバイスいただければと思います。
0572nobodyさん04/05/07 15:39ID:???
>>571
foreachを使う。
用例は検索すれば一杯出てくる。
0573nobodyさん04/05/07 15:44ID:???
print @files;
057457104/05/07 15:55ID:???
>>572
ありがとん
foreach $key (@files) { print "<a href=\"$key\">$key</a><br>\n";}
ってやったら出来た
サンクスコ
0575nobodyさん04/05/07 16:45ID:???
quotemeta を使いましょうよ。
0576nobodyさん04/05/07 20:24ID:zsY2eiyt
アンケートサイトを作ろうと思っています。

一人複数投票をなるべく避けるようにしたいのですが、こういう
場合、どのような工夫があるでしょうか?

とりあえず同一アドレスははじきます。リスクはありますが、
プロバイダの同一サクセスポイントもはじこうと思っています。

他にどういう手があるでしょうか?もちろん100%防ぐのは
無理だと思いますし、そんな厳密なアンケートでもない
(どっちかというと遊びっぽい)ので、少しでも役立つ
方法をご存知でしたら、教えてください。

よろしくお願いします。
0577nobodyさん04/05/07 20:26ID:???
> とりあえず同一アドレスははじきます。リスクはありますが、
> プロバイダの同一サクセスポイントもはじこうと思っています。
ネタだろ?
0578nobodyさん04/05/07 20:33ID:???
@list に何列(何個)存在しているか
個数をカウントするにはどうすればいいですか・・?
0579nobodyさん04/05/07 20:35ID:???
$kosuu = @list;
058057804/05/07 20:42ID:???
>>579
ありがとうございます!
0581nobodyさん04/05/07 20:52ID:???
>>576
クッキー食わせるのは良くあるパターン
0582nobodyさん04/05/07 21:12ID:???
サクセスポイント
058357604/05/07 21:46ID:???
サクセスポイントはアクセスポイントのタイプミスでした。どもすみません。

>>581

あ、クッキーという手がありましたね。消して再投票する人もありえるでしょうが、
一定の効果はありそうですね。ありがとうございます。
0584nobodyさん04/05/07 22:57ID:???
検索用CGIを作っているのですが、
@array にたとえば「あ」「い」「う」が入っているとして、
それを$aiuにマッチすればそのまま、マッチしなければそのループを抜ける
という表記なつもりなのですが、結果がうまくいきません。

foreach $i (@array){
if ($aiu =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$i/i) { ; }
else { next; }
}

どのようにかきかえればいいでしょうか?
0585nobodyさん04/05/07 23:13ID:???
>>584
foreach my $str (@array){
  $str = quotemeta $str;
  if( !$aiu =~ /$str/){
    last; # ループを抜けるのはlastです
  }
}

こんなもんでどうなんでしょう? 正規表現はそんなにややこしくする必要ありですか?
0586nobodyさん04/05/07 23:39ID:???
>>584
まずそれは EUC-JP とうまく付き合いたがっているコードなわけだけど
@array と $aiu はきちんと EUC-JP ですか?
■ このスレッドは過去ログ倉庫に格納されています