トップページ⇒php
991コメント318KB

Perlのこと何でも聞いてきてよ

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。02/02/04 00:32ID:???
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       | 役に立つとは限らないけどね☆
   ∧ ∧ |/\_________
   (,,゚Д゚)____.
   (つ/~ ※ ※ \
   /※ ※ ※ ※ \
   ~~~~~~~~~~~~~~~~~~~
0809nobodyさん2005/07/30(土) 13:09:36ID:d2itdKNj
すいません。解決しました。

ごめんなさい。
0810nobodyさん2005/07/30(土) 13:14:39ID:gTYaFPro
どう解決したのか詳しく書けよ。
0811nobodyさん2005/07/30(土) 13:36:31ID:???
>>808
積?
加減乗除
和差積商
0812HEAD2005/07/30(土) 17:45:32ID:???
WEB制作からの誘導で来ました。
エキサイトフレンズ[http://friends.excite.co.jp/]みたいに、
WEB上でメールを送受信できたり、他のユーザーを検索したりする、
メンバーディレクトリ的なスクリプトってないですか?対応は、C,Perlです。

スレ・カテ違いでしたら、誘導お願いします。
0813nobodyさん2005/07/30(土) 21:04:35ID:???
>>812
http://pc8.2ch.net/test/read.cgi/hp/1116923112
0814nobodyさん2005/07/31(日) 20:22:34ID:tE006mzP
>>812
愛してる
0815nobodyさん2005/08/06(土) 00:39:43ID:???
#!/bin/sh
#PERL
/usr/bin/wget -r -l 1 -N -nH http://hoge.com/hoge.html > /dev/null 2>&1

これでcron使ってhttp://hoge.com/hoge.htmlから1層目までのファイルをダウンロードしようとしたんですけど

ambiguous redirectとでますた。

どこがおかしいんでしょうか?
0816JAPU ◆E.pgZNAsY2 2005/08/06(土) 14:18:15ID:???
# 全然 Perl とは関係無いと思うけど。

ambiguous redirect って出ているので,サーバからの応答がおかしいのでは?
wget --save-headers URL
で,エラー起きたURL試してみればよいかもしれない。
0817nobodyさん2005/08/06(土) 18:22:31ID:???
>816
ありがとうございます。
やってみましたがまたambiguous redirectと出ました。

これ扱う質問はどこのスレですればいいんでしょうか?


0818nobodyさん2005/08/07(日) 17:38:43ID:oN+VAQu9
http://syobon.com/mini/src/mini3979.txt
これなんですが携帯からだと書き込めません。
書き込み画面までいけないです。
PCからは普通に書き込めます。
multipart/form-dataが関係あると思うのですが
因みにアップロード機能は使いません。
どこをどう書き換えればいいでしょうか?
0819nobodyさん2005/08/08(月) 05:57:54ID:???
あるデータから%を除去したいんだけどどう書けばいいの?

$str =~ s/\%//g;

こうしたけどだめだった
0820nobodyさん2005/08/08(月) 07:13:03ID:???
何その全角バックスラッシュ。
0821nobodyさん2005/08/08(月) 16:29:48ID:smXZQKV9
-%
0822nobodyさん2005/08/08(月) 16:58:39ID:???
>>820
マッキントッシュには\を\に勝手に変えるものがあると聞いたことがある
0823perlばっかり1年やってるのに初めて。。。2005/08/08(月) 17:12:39ID:???
open ⇒ while ⇒ close
という普通の処理で下のようなエラーがでます。

Modification of a read-only value attempted at ファイル名 line 149.

なぜか while を foreach に変えると動きます。。。
普通 open ⇒ while ⇒ close ですよね?(;´ω`)
なぜこのようなことが起きるのでしょうか?
よろしくお願いします。
08248232005/08/08(月) 17:20:43ID:???
自己解決してしまいました_| ̄|○
このパターン初めてだ。。。
0825nobodyさん2005/08/10(水) 00:02:27ID:PTE7pUU7
質問なんですが「ActivePerl-5.8.7.813-MSWin32-x86-148120」の一つ前のバージョンが欲しいのですが「ActiveState」のどの辺にあるのでしょうか?ずっと探してるのですが見つからなくて・・orz
何方か知ってる方居たら教えていただけませんか?
0826nobodyさん2005/08/10(水) 00:36:15ID:???
>>825
http://downloads.activestate.com/ActivePerl/Windows/5.8/
0827nobodyさん2005/08/10(水) 00:43:51ID:PTE7pUU7
826さんありがとうございます。もう何日も探してて:;
本当に感謝の気持でいっぱいです。ありがとうございましたm(_ _)m
0828nobodyさん2005/08/13(土) 01:58:29ID:???
>>700
音引きで置き換えなどができない問題で、
\Qほにゃらら\Eで置き換えた場合、文字化けが発生してしまうのですが、
これはJISコードだからでしょうか。
いまからでも、扱う文字を全部EUCにしたほうがいいですか?
0829nobodyさん2005/08/14(日) 18:50:35ID:???
PerlでバークレーDBを使ったサンプルCGIってありませんか?
バークレーについてはなかなかWEB上に見つけられなくて・・・。

会員だけがデータ登録可能で、一般ユーザは検索・抽出だけしたいのですが・・
バークレイはテーブルという概念はないのでしょうか?

よろしくお願いいたします。
0830nobodyさん2005/08/14(日) 19:04:08ID:???
>>829
氏ね
0831nobodyさん2005/08/16(火) 16:07:03ID:22f9XKc9
おまえらド素人な俺にご指南して

UAでPCからのアクセスか携帯からのアクセスか判定する
foreachであらかじめリストに入れておいた文字列を開いてUAとマッチするとフラグが立つ
もしフラグが立っているならば今度はforeachであらかじめリストに入れておいた文字列2を開いてホストとマッチするか調べる
もしもホストが携帯固有のもので、前述したリストとマッチしたらページを表示する
それいがいはelseで別ページを開く(要はUAを携帯に偽装したアクセスを弾く)
サブルーチンは使わないで HTML部分はヒアドキュメントで記述しているんですが
携帯からアクセスすると、elseで用意したページの内容まで表示されてしまいます
しかも三回ぐらい(ページのバナーごと三回ぐらい表示される)
foreachの使い方に問題があるとおもうのですが、、、誰かご指南してください頼む
0832nobodyさん2005/08/16(火) 17:22:46ID:Y3KaJd+a
ソースも書けよ、馬鹿。
書かずに分かるわけないだろ。
エスパーじゃあるまいし。
0833nobodyさん2005/08/16(火) 17:24:16ID:???
>>831
リストとマッチしたらページを表示する
↓
リストとマッチしたらフラグ2を立ててlast
フラグ2があればページ表示
なければ別ページ
08348312005/08/16(火) 17:34:41ID:22f9XKc9
>>832

$flag = 0;
$ua = $ENV{'HTTP_USER_AGENT'};
$ip = $ENV{'REMOTE_ADDR'};
$ipp = pack('c4',split(/\./,$ip));
$host = gethostbyaddr($ipp,2);
@check=("携帯のUA");
@check2=("携帯のホスト");
foreach $check(@check){
if ($ua =~ m/$check/){
$flag = 1;
}
}
if ($flag eq 1){
foreach $check2(@check2){
if ($host =~ m/$check2/){
print <<EOM;

<html>携帯専用ページ</html>
EOM
}else{
print <<EOM;

<html>拒否ページ</html>

EOM
}
}
}
}
08358312005/08/16(火) 17:37:08ID:22f9XKc9
>>833
ソースは上記の通りです
どのようにlastを使ったらよろしいでしょうか?
08368322005/08/16(火) 18:01:44ID:???
>>834 アルゴリズムがおかしい。
if ($flag) {
foreach $check2 (@check2) {
if ($host =~ m/$check2/) {
$flag2 = 1;
last;
}
}
}
if ($flag2) {
print <<EOM;
<html>携帯専用ページ</html>
EOM
} else {
print <<EOM;
<html>拒否ページ</html>
EOM
}
0837nobodyさん2005/08/16(火) 18:18:42ID:???
そもそも、
最終的にホストではじいているのに、なんでUAをチェックする必要があるの?
08388312005/08/16(火) 18:23:15ID:22f9XKc9
>>836
ありがとうございます。
携帯からはうまくいきました。
しかし、PCから閲覧すると、拒否ページが表示され、
その下にPCページが表示されてしまいます。
バナーが1ページにふたつ表示されている状態です。
この場合なにが原因だと考えられますか?
08398312005/08/16(火) 18:24:38ID:22f9XKc9
>>837
携帯を装ったアクセスを拒否するためです
08408312005/08/16(火) 19:35:34ID:22f9XKc9
解決した
おまえらありがとう
0841nobodyさん2005/08/16(火) 20:53:51ID:???
>>829 ( ´_ゝ`)
http://www.google.co.jp/search?hl=ja&q=perl+Berkeley+db
0842nobodyさん2005/08/17(水) 02:32:55ID:???
すいませんが、fedora core3でのperl環境の構築についての質問は
linux板でしたほうがいいですか?それともここでよろしいですか?
0843nobodyさん2005/08/17(水) 06:28:22ID:???
Perlを実行する前の話ならLinux板と思われ
0844nobodyさん2005/08/17(水) 18:34:30ID:???
>>843
どもです。linux板で訊いてきます。m(_)m
0845nobodyさん2005/08/18(木) 11:15:58ID:qmrkuNcG
>>673の方法を探しています。
Linux+apache1.3.33+Perl5でシステム関数等を使用禁止にしたいです。
PHPにはsafe_mode?とかがあるようですが、、、
検索もうまくヒットできないので、ヒントを教えて頂けませんか
0846nobodyさん2005/08/18(木) 21:05:39ID:???
>>845
http://search.cpan.org/~nwclark/perl-5.8.7/ext/Opcode/Opcode.pm
http://search.cpan.org/~nwclark/perl-5.8.7/pod/perlrun.pod
0847nobodyさん2005/08/25(木) 18:58:47ID:/oUQtUpv
HTTPをしゃべるサーバを作りたいのです。
イメージとしてはwebminのminiserv.plみたいなものです。
だからといってminiserv.plパクるのは無しでお願いします。
httpsでお話できるのも必須です。
そんなナイスなCPANモジュールをご存じないですか?
08488472005/08/25(木) 19:02:38ID:???
あと、あまり手間をかけずにCGI.pmがつかえるとちょっとうれしいです。
わがまま言ってスマソ
0849nobodyさん2005/08/25(木) 19:57:35ID:???
HTTPをしゃべるサーバを作りたいのです。
httpsでお話できるのも必須です。

↑

それって普通のHTTPサーバじゃないのか?
0850nobodyさん2005/08/25(木) 20:05:03ID:???
Webサーバ作りたいの?
何をしたいのか、誤解のないように正確に書きましょう。
08518472005/08/25(木) 23:17:51ID:YyTm9DNH
誤解を与えてスマソ。結局HTTPサーバつくりたいんです。
そんなんで探してみたら、それらしいCPANのライブラリありますた。
http://search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/HTTP/Daemon.pm
こんな感じですね。
で、perlのスクリプトに対してリクエストが来たら、それを実行したいのです。
そして、このperlのスクリプトの中ではCGI.pmが使えるとうれしい、、とうい意味なのです。
なんでCGI.pmかというと、POSTやGETで来た変数をCGI.pmを使って楽に処理したいのからです。

結局、Perlで書かれたWebサーバで、CGIが実行できるものを探していまふ。
0852nobodyさん2005/08/25(木) 23:21:33ID:???
意味がわからん。
0853nobodyさん2005/08/25(木) 23:25:41ID:???
Apacheとか入れたらええやん。
0854nobodyさん2005/08/25(木) 23:34:08ID:???
ApacheとかIISじゃ何でダメなのか説明しないと、単なる奇特な人扱いされるがいいか?
0855nobodyさん2005/08/25(木) 23:48:26ID:???
cgiのローカルテスト専用httpd?
0856nobodyさん2005/08/26(金) 06:50:07ID:???
おそらく、本人も何をやりたいのかわかってないよ。
08578472005/08/26(金) 18:13:00ID:???
お付き合いしてもらってどうもです。
ApacheやIISを使いたくない理由は、
単なる技術的興味で全てWEBサーバもperlで実装してみたい。というだけです。
奇特な人です(w
で、自分で実装したWEBサーバ上で、任意のCGI(perl)を動かしたいと思ってます。

>>855
>cgiのローカルテスト専用httpd?
そんな感じをイメージしてます。
0858nobodyさん2005/08/26(金) 19:08:16ID:???
>>857
基本的な知識が足りない気がする
0859nobodyさん2005/08/26(金) 22:28:12ID:???
>>857
>>856
0860nobodyさん2005/08/28(日) 16:44:44ID:oW7L5bvy
質問なのですが
Basic認証のIDを複数登録している状態で
パスワードを共通のものに一括変換したいんですが
perlで簡単に出来るものでしょうか?
0861nobodyさん2005/08/28(日) 16:45:39ID:???
sage忘れました
申し訳ない・・・
0862nobodyさん2005/08/29(月) 10:18:06ID:vBUA0naf
>>860
それなりにperl使えるなら簡単にできると思うが、簡単にできるかどうか
質問するレベルの香具師には難しいかもしれんな。
0863nobodyさん2005/08/29(月) 15:51:59ID:???
Perlな
0864nobodyさん2005/08/29(月) 15:54:51ID:???
いやPERLだ
0865nobodyさん2005/08/29(月) 16:59:00ID:???
いいや p e r l だ
0866nobodyさん2005/08/29(月) 21:35:39ID:???
何を云ふ
パァルではないか
0867nobodyさん2005/08/29(月) 21:49:55ID:???
いやPerlだよ
0868nobodyさん2005/08/29(月) 22:36:03ID:???
ぺrlだろ
0869nobodyさん2005/08/29(月) 23:00:59ID:???
馬鹿だな。英和辞典引いてみろ。
正しくはpearlだぞ。
中学校で勉強し直してこいよ。
0870nobodyさん2005/08/29(月) 23:11:46ID:???
Perlは開発初期の一時期、
ほんとうに Pearl だった

1へぇ('A`)
0871nobodyさん2005/08/29(月) 23:50:53ID:???
常識
0872nobodyさん2005/08/30(火) 18:26:52ID:???
oop
0873nobodyさん2005/09/01(木) 23:04:04ID:bjOdnOK6
HTML中でサブルーチンが呼び出せないから教えろよ貴方達お願いします。
0874nobodyさん2005/09/01(木) 23:05:28ID:PCj3VA+5
意味が分からんから教えようがありません。ハゲが。
0875nobodyさん2005/09/02(金) 00:46:09ID:???
ヒアドキュメント中のことなら ${ \time } や @{[ time ]} の様に
リファレンスを取って即デリファレンスする構文でいっぺん氏ね。
0876nobodyさん2005/09/02(金) 17:39:52ID:+75P2vue
>>874
なぜハゲだとわかったんですか貴様。

>>875
よく言いたいことをわかってくれましたね。
もうおまえらに用はありませんので死んだらどうです?
0877nobodyさん2005/09/02(金) 20:38:06ID:???
>>876
つまらん
0878nobodyさん2005/09/02(金) 21:58:02ID:+75P2vue
>>877
じゃあ僕がもっと面白いことを言える様になるプログラムを組んでください。
おまえの笑顔が見たいからさ。
0879nobodyさん2005/09/03(土) 03:39:59ID:nnPn1Iyo
おしい。
おまえ”ら”だったら協力したのに。
0880kurochibi2005/09/03(土) 16:09:57ID:???
アンケート内容を POST メソッドで送るCGIをPerl5.0で作った。
Operaでは正常に動いたが、IE6.0 と FireFOxでは
Method not Allowed というエラーが出てしまう。
プロバイダーはAppacheをFreeBSD上で使っている。
解決方法について何かヒント」を!!!
0881nobodyさん2005/09/03(土) 16:22:12ID:A1NacjAp
ソース貼れ
0882nobodyさん2005/09/03(土) 20:46:25ID:UUBko5tb
まずPerlをバージョンアップ
0883nobodyさん2005/09/03(土) 22:26:47ID:2jap+WvV
みんなに質問
みんなはファイル読んだ後、ファイル閉じてる?
閉じなくても変わりないから負担減らそうと思って省略してるんだけど、これってまずいかな?
書き込む時は閉じてるんだけど。
みなさんはどうしてますか?

open(UNKO,"umai.txt");
while(<UNKO>){

}
close(UNKO)←ここ
0884nobodyさん2005/09/03(土) 22:51:16ID:???
何が負担なのか分からん
0885nobodyさん2005/09/03(土) 22:53:45ID:2jap+WvV
ゴメソw
ちょっとでも省略出来たらいいな、と思って。
あまり意味ない?
0886nobodyさん2005/09/03(土) 23:06:25ID:A1NacjAp
ファイル開きっぱなしにするわけじゃないし、結局閉じるわけだろ?
たかが10バイトのディスク領域をケチって楽しいか?
10バイト削っても空き容量は増えないけどな。
0887nobodyさん2005/09/04(日) 01:03:00ID:???
そんなに削りたいならまず括弧を消すところからはじめろ。
0888nobodyさん2005/09/04(日) 01:04:14ID:???
""を削ると容量省略だけじゃなく早くなるって本当?
0889nobodyさん2005/09/04(日) 02:44:52ID:nWuo3A4u
@tarou=split(/<>/,<IN>);
foreach(@tarou){
〜〜
}

と

foreach(split(/<>/,<IN>)){
〜〜
}

って何か違いあるかな?
下の場合は、ループ中毎回分解処理をするのかな?
0890nobodyさん2005/09/04(日) 12:11:13ID:QV6CtW4c
require "giko.pl";
require 'giko.pl';
シングルとダブルのなにか違いでもあるのかな?
どちらでも動作してますけど・・・・
0891nobodyさん2005/09/04(日) 12:15:42ID:???
>>890
perldoc perlopを熟読してこい。
意味が分からないならググれ。
0892nobodyさん2005/09/04(日) 19:54:48ID:???
manは読みましたがperldocはよめねー
逝ってきます
   ||    
   ||    
   ||    
   ||    
 ∧||∧ 
( / ⌒ヽ
 | |   | 
 ∪  | 
  | | | 
  ∪∪ 
 
━━━━━
0893nobodyさん2005/09/04(日) 20:13:10ID:???
>>892
manが読めるならmanでもjmanでもよかよ。
0894nobodyさん2005/09/05(月) 14:57:44ID:spnR/kA9
質問させてください。
perlのopenについてなんですが、

open(FILE,"test.txt");
@data=<FILE>;
close(FILE);

一般的にこういう処理になるとおもうのですが、複数の外部ファイルを一度に
処理する方法はありますか?たとえば、test.txtとtest2.txtをいっぺんに処理
できる方法をおしえてください。perl初心者ですが、下のようなやり方をしても
無理でした・・・
open(FILE,"(test.txt,test2.txt)");
@data=<FILE>;
close(FILE);

複数の外部ファイルの処理は不可能なんでしょうか。。
なにかいい方法があったらご教授願います。

0895nobodyさん2005/09/05(月) 15:39:39ID:???
一度に処理って何だよ
0896nobodyさん2005/09/05(月) 16:18:51ID:???
open(FILE1,'test1.txt');
open(FILE2,'test2.txt');
open(FILE3,'test3.txt');
cloe(FILE1);
cloe(FILE2);
cloe(FILE3);
お好きなだけどうぞ
0897nobodyさん2005/09/05(月) 16:19:26ID:???
× cloe
○ close
0898nobodyさん 2005/09/05(月) 16:54:07ID:VkH+gvW7
「ペラル」ちゃー何か?
0899nobodyさん2005/09/05(月) 17:43:35ID:???
>>890
print hoge のhogeを""で囲うか''で囲うかみたいなもんかなぁ…。
""だと$hogeみたいな変数の中身が出てくるので、require "$hoge.pl"; みたいに使える。
わざわざそんな事する必要ないのだがな
0900nobodyさん2005/09/05(月) 18:42:09ID:???
Google Web APIsを使って検索をしたいのですが、明らかに文字化けした
結果が返ってきます…
http://www.antun.net/tips/soap/google.html
http://nakahara21.com/index.php?itemid=602
↑ここのページなんかを見ると、Googleのほうで仕様変更があって、
日本語キーワードをうけつけてない…という話らしいんですが…
何か情報をお持ちのかたいらっしゃいませんか?
0901nobodyさん2005/09/06(火) 15:22:52ID:MHrXIfbO
Mysqlのスレにも書いたんだけど、perl+Mysqlで掲示板作りたい。
サンプルになるようなスクリプトや解説サイトがあったら教えてくれさい。
0902nobodyさん2005/09/06(火) 15:29:46ID:???
>889
俺には全く同じに見えるが。
どちらも<IN>から一行読んで、それをsplitしとるんでしよ。
つーか、実際にコード書いて試してみりゃええやん。

それと、foreachで書いている人を久々に見たな。
5年くらい昔にforでエエやんと人に言われて、
以来俺もforで書くようになった。
0903nobodyさん2005/09/06(火) 15:31:42ID:???
>894
こんなんいかが?

my @data;
for my $f (qw(test1.txt test2.txt))
{
open(FILE, $f);
push(@data, <FILE>);
close(FILE);
}
0904nobodyさん2005/09/06(火) 15:52:17ID:???
スレ違いかもしれませんが、
flashでゲームを作ったんですが、そのスコアを仮にtest.cgi
に送るにはどうすればいいですか?
データの受け渡しはcgi-lib.plを使用しています。
0905nobodyさん2005/09/06(火) 15:58:20ID:???
test.cgi?score=13
0906nobodyさん2005/09/06(火) 17:06:24ID:???
postでないと不正される
0907nobodyさん2005/09/06(火) 17:06:39ID:???
>>900
http://pc8.2ch.net/test/read.cgi/php/1018614427/262
0908nobodyさん2005/09/06(火) 17:08:41ID:???
>>906
POST でも不正はできる。阿呆なこと抜かすなよ。
レス数が900を超えています。1000を超えると表示できなくなるよ。