Perlのこと何でも聞いてきてよ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/02/04 00:32ID:???| 役に立つとは限らないけどね☆
∧ ∧ |/\_________
(,,゚Д゚)____.
(つ/~ ※ ※ \
/※ ※ ※ ※ \
~~~~~~~~~~~~~~~~~~~
0447444
04/02/13 15:21ID:???すまん。かみつきかたがきつかった。ネタだとはわかっていたんだが。
多重継承……え、悪名高きダイアモンド継承を許すと? って、Perlは元々そうか。
0448nobodyさん
04/02/16 19:11ID:VhYVP2K+たとえば、右にいくつ動かすかってときに
一個だけだったら
+ 1;
じゃないですか。
でもさ、1〜9の範囲で動かすにはどうしたらいいんですか?
+ 1,2,3,4,5,6,7,8,9;
にしてもだめでした
0449nobodyさん
04/02/16 19:13ID:ewLDl3sj0450ヽ(´ー`)ノ
04/02/16 19:15ID:???凄い閃きだな(;´Д`)
1 から 10000 までの乱数作るときどうするつもりなんだ。
0451nobodyさん
04/02/16 19:16ID:VhYVP2K+できました!!!本当にありがとうございました!!!
0452nobodyさん
04/02/16 19:51ID:j3AvJVjF0453nobodyさん
04/02/16 20:17ID:???☆ ★
★ こ こ は 質 問 ス レ で は な い ☆
☆ ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0454勉強中
04/02/16 20:19ID:fbTZu6ahプログラムで自分のパソコンに自動取得したいのですが、
もっとも適しているプログラム言語は何かを
教えてください。 m(_ _)m
0455nobodyさん
04/02/16 21:38ID:???証券会社のクイックって何だか知らずに書き込みだけど、
大抵の事はPerlでも出来るよ。
WebServiceとの連係ならSOAPとかXML-RPC等のモジュール使えば簡単に。
0456nobodyさん
04/02/16 21:46ID:3zl9vjKyURLを直接入力しても見えないようにしたいです。
どうすれば良いでしょうか。
0457nobodyさん
04/02/16 22:04ID:???0458nobodyさん
04/02/17 00:21ID:???他のアカウントの香具師のディレクトリみたり!!ウヒャヒャヒャヒャ
0459456
04/02/17 15:42ID:???0460nobodyさん
04/02/18 11:17ID:Roodc29W0462nobodyさん
04/02/18 16:24ID:???★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
☆ ★
★ こ こ は 質 問 ス レ で は な い ☆
☆ ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0463nobodyさん
04/02/24 00:59ID:mWUOzoqfここで教えるスレだったのかい。
「Perlのこと何でも聞いてきてよ」ってさ。
0464nobodyさん
04/02/24 01:15ID:???0465nobodyさん
04/03/03 17:19ID:???0466465
04/03/03 21:44ID:???0467465
04/03/07 17:11ID:???0468nobodyさん
04/03/08 12:00ID:???0469nobodyさん
04/04/26 06:23ID:???UserAgentやlwp-mirrorなどでjpgやpngなどを取りに行こうとすると同じcgiなのに取れる画像があったり取れない画像があったりします。
取れないものはinternal server errorが返ってくるのですが、そのURLをネスケで見るとちゃんと見れたりするので原因を探り中ですが正直どこから攻めたらよいのかわからず難儀してます。
一応libwwwで必要なモジュールはすべて最新のものにしてあるのですが動作は変わらないようです。
0470nobodyさん
04/04/26 07:36ID:???headが413のtoo large entityだったので関連するものを調べていたらtotal capacityかもということで
ConnCacheのtotal_capacity値を調節することで取れるようになりました。
0471nobodyさん
04/06/19 14:33ID:XQS6veYG$pYear年$pMonth月$pDate日 $pHour時$pMinute分$pSecond秒
から
$nYear年$nMonth月$nDate日 $nHour時$nMinute分$nSecond秒
までの経過秒数を求めるスクリプトってどう書けば良いのでしょうか。
閏年とかを考慮に入れるとめっちゃ複雑なコードになっちゃうのですが。
0472nobodyさん
04/06/19 14:59ID:???http://perldoc.com/perl5.8.4/lib/Time/Local.html
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq4.html#How_can_I_compare_two_date_strin
コーディングの質問は
Perl コーディング初心者質問コーナー Part35
http://pc5.2ch.net/test/read.cgi/php/1085557731/
改造は
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/
CGI設置の質問は
CGI設置について質問
http://pc5.2ch.net/test/read.cgi/php/1054216089/
その他の質問は
△▲ WebProg 初心者の質問 Part9 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1086715675/
他にもあるがおおむね上記のスレが本スレ
適切なスレで質問してくれ
0474nobodyさん
04/06/19 18:02ID:???漏れに任せろ。
丁度、そんなコードを書いたところだ。
これは現在時刻との差分を出すためのものだが、
応用すれば任意の時刻との比較も簡単だろう。
import java.util.*;
public class DateDiff
{
public long getDateDiff(int pYear,int pMonth,int pDate,int pHour,int pMinute,int pSecond)
{
w_month = w_month - 1;
Date d1 = new GregorianCalendar(pYear , pMonth , pDate , pHour , pMinute , pSecond).getTime();
Date d2 = new Date();
long diff = d2.getTime() - d1.getTime();
diff = diff / (1000*60*60*24);
return (diff);
}
}
diffがマイナスの場合は未来と現在を比較したと言うこと。
0475黒死犬
04/06/19 19:21ID:???0476nobodyさん
04/06/19 23:41ID:???0477nobodyさん
04/06/28 01:14ID:???なんだか知らんが凄いツボにはまった。
お前らおもしれーよ。
0478nobodyさん
04/07/03 13:22ID:???無いとしても、system()を使えば可能と聞いたんですが、
sshのCGIクライアントについてのサイトが見つからないので
どなたかご教授お願いします
0479
04/08/08 18:30ID:fi+/YVem0481nobodyさん
04/08/08 22:04ID:???0482nobodyさん
04/08/09 10:30ID:???0483nobodyさん
04/08/09 13:13ID:???0485nobodyさん
04/08/20 02:13ID:???>$new .= 'l'
最後に任意の文字=lを加える
この逆で最後にある文字lを削除するってどう書くのでしょうか?
ヘタレですいませんorz...
元ネタでは拡張子をhtmからhtmlとするRenameなんですが、逆に
htmlのlを削りたいんです。
0487nobodyさん
04/08/21 03:54ID:???0488nobodyさん
04/11/09 19:18:19ID:???どこがおかしいのでしょうか。
$img="img/hoge.png";
print "Content-type: image/png\n\n";
binmode(STDOUT);
print $img;
0489488
04/11/10 20:54:03ID:???原因は画像を読み込むときにbinmodeにしなかったこととファイルをオープンしてなかったことです
$img="img/hoge.png";
open(IMG, "$img");
print "Content-type: image/png\n\n";
binmode(IMG);
binmode(STDOUT);
print <IMG>;
0490nobodyさん
04/11/13 03:03:28ID:eDGt/HAG\;ではダメみたいなので。
サクっと回答お願いします。
0491nobodyさん
04/11/13 12:13:55ID:gxBOL5Kkハッシュのハッシュの全要素をスキャンするため、次のようなコードを書いてみました。
foreach $key1 (keys(%hash)) {
foreach $key2 (keys($hash{$key1})) {
print "$key1 - $key2 : $hash{$key1}{$key2}\n";
}
}
ところが、2つめの foreach の keys で、
Type of arg 1 to keys must be hash (not hash element)
と怒られて
0492nobodyさん
04/11/13 12:17:20ID:gxBOL5Kk$hash{key1}{key2} みたいにアクセスできます。
この %hash の全要素をスキャンしようと、次のようなコードを書きました。
foreach $key1 (%hash) {
foreach $key2 ($hash{$key1}) {
print "$key1 - $key2 : $hash{$key1}{$key2}\n";
}
}
ところが、2つめの foreach のリスト部の keys で、
Type of arg 1 to keys must be hash (not hash element)
と怒られてしまいます。
2次元目のハッシュのキーの一覧を取得したいのですが、このような場合にはどのような書き方をしたら良いのでしょうか。
0493491=492
04/11/13 12:27:27ID:???すみません。
0494nobodyさん
04/11/13 12:37:26ID:???0497nobodyさん
04/11/22 16:35:51ID:???print "Content-type: text/plain\n\n";
print "Hello Perl !";
今日からPerlをはじめまして、本どうりにこれを打ち込んで、表示さしてみると
ファイルを開く、保存のダイアログボックスが表示されます。開くを押すと
メモ張にHello Pealと表示されます、本ではブラウザ上に表示されると
なっているのですが、違うCGIをためしてみるとちゃんとブラウザに表示されます。
本の付属のサンプルでやってもこれだけは、安心できる発信もとからの・・・
ファイルを開く 保存・・がでてブラウザに表示されません。これだけ
なぜかこうなります。
無視して、これは飛ばして次のCGIからやったほうがいいのでしょうか?
原因がわかるかたぜひおしえてください。
0498488
04/11/22 18:21:44ID:???他のスレでも質問してたよな?
うざいのでソースを書いてやる
#! /perl/bin/perl
print "Content-type: text/plain\n\n";
print "Hello Perl!";
__END__
あとPerlをC:\usr\local\bin\perl or C:\usr\bin\perl にし直せ
0499nobodyさん
04/11/22 18:31:29ID:???マルチポスト止めれ。
text/plainをブラウザで表示しないで、ダウンロードする設定になっているか、
ヘッダ無視する糞ブラウザ使ってるかどっちか。
>>498
トンチンカンな回答返すなよ。
0504nobodyさん
04/11/24 06:56:20ID:???>>502
もっと早く反応してくれよ
釣れてないと思ってしまうところだったじゃないか
特に>>501の回答は書くときに予測できてただけにワロタ
0506nobodyさん
04/11/24 13:11:43ID:???0507nobodyさん
04/11/24 20:55:36ID:???まじで$xor$y $xが真なら真 でなければ$yってなんでやねん
$Xと$yをふくむっていみじゃねーのかよほかの言語とごちゃごちゃになるんだよ
0508nobodyさん
04/11/24 22:57:57ID:???0509nobodyさん
04/11/24 23:09:23ID:???0511nobodyさん
04/11/24 23:32:15ID:???う〜んと、Perlで文字列をUTF-8エンコードにしてAmazonアソシエイト(?)のキーワード検索に対応したいのです。
0512nobodyさん
04/11/24 23:34:07ID:???0513nobodyさん
04/11/25 03:31:32ID:???そしたら
PerlでUTF-8からURLエンコードしたいってことでOK?
それなら
$str =~ s/ /+/g;
$str =~ s/([^A-Za-z0-9+])/'%'.unpack("H2",$1)/ego;
でいける
0514nobodyさん
04/11/25 03:55:36ID:???みたいに条件を代入文にするときの使い道ってたとえばどんなときですか?
書き間違えてちゃんと動作しないの(しかもエラーもでない)、非常にうざいんですけど。
0515nobodyさん
04/11/25 04:35:51ID:???0516nobodyさん
04/11/25 09:08:15ID:???else $hoge = "";
0517nobodyさん
04/11/25 09:17:42ID:???0519nobodyさん
04/11/25 18:53:19ID:???19行目周辺をしらべまくってるんだけどこがまちがってるかわかりません。
open(FILE, "+<./count.dat") or die("エラーファイルがひらけません");
eval{ flock(FILE,2);};
$count = <FILE>;
seek(FILE,0,0);
print FILE ++$count;
close(FILE);
print <<END;
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>アクセスカウンター</title></head>
<body>
<p>あなたは・・・$count番目の訪問者です</p>
</body>
</html>
END
0521nobodyさん
04/11/25 19:58:49ID:bc9/VIUx失礼します。
ド素人な質問なんですが、例えば登録制サイトがあって、
登録者の個人情報(氏名、住所、電話番号etc..)を登録する場合、
通常の登録制有料サイト等は、データをDBに収めると思うのですが、
それ以外の方法としてはどんな方法がありますか?
私はハッシュ配列(ファイル)にぶち込むと勝手に思っているのですが・・・。
0523nobodyさん
04/11/25 23:42:41ID:bc9/VIUxレスありがとうございます。
>個別にファイルをディレクトリ以下にユーザIDごとに作成するとかもある
ハッシュ配列だと例えば、
name 山田太郎
addr 東京都**区***
phone 03-****-****
age 21
sex male
という風にユーザごとに作成すれば可能だと思いますが、
ハッシュ配列でユーザごとにファイルを作成していくのと、
CSVファイルで作成するのはどちらが良いのでしょうか・・・?
0524nobodyさん
04/11/26 11:48:52ID:???5個しか項目ないならDBD::CSVだろうね
CSVならExcelでも開けるし
管理が楽。
(5項目でも何人規模かで変わるけど)
ユーザIDとか使っていろいろするなら
ユーザIDとパスワードだけはCSVで管理して
細かい情報はユーザごとのファイルなりディレクトリなり作った方が後々楽だし
CSVは何よりデータが増えると比例して遅くなっていくけど
動的にファイルパスを作って直接アクセスするからある程度の速度が維持できると思う
それよりわざわざageなくてもいいよ
0525nobodyさん
04/11/26 12:08:26ID:???度々のレス多謝です。
>5個しか項目ないならDBD::CSVだろうね
実際には10項目位ありますorz
規模は10〜30人程です。
その場合はユーザごとにファイル作るようにした方が良いです蟹?
>ユーザIDとパスワードだけはCSVで管理して
ユーザID、パスワードも欲しいいので、その2項目は一つのCSVファイルに入れた方が
良いのですか。フムとても勉強になります。
0526nobodyさん
04/11/27 00:14:10ID:bz1yMaUi0527nobodyさん
04/11/27 00:22:58ID:???最大50人としても50行しかファイルないし
DBD::CSVでOK。
レスポンス気になるならBenchmark.pmとかで計ってみればいいと思うよ
DBD::CSVの場合は1ファイルの大量入れるとレスポンス悪いから
同時に使うデータだけを2〜3ファイルに分けた方が
メモリ的にもやさしいよ。
ユーザごとにファイル作るのはDBD::CSVで管理できないぐらい(何万件とか)にするのがいいよ。
開発面ではDBD::CSVのほうが楽。
ディレクトリとかで管理するメリットは項目が後々足しやすいとか
画像などユーザ別のファイルアップロードにも対応できるぐらい
DBD::CSVはSQL使えるから
DBへの移行も楽になる
どっちにせよガンバレ。
0528nobodyさん
04/11/27 00:37:31ID:???perlでCGIチャット作ってるんですけど、
入室時に名前色を選択メニュー<select>で選べるようにして
その隣に1行の入力ボックスを作って、
選択メニューで色を選択しない人はそこにカラーコードを直接
入れられるようにしたいんです。
そして直接カラーコードを1行ボックスに入れた色が優先されるように。
しかし、両方のnameに同じ名前を入れても
1行ボックスのほうしか働いてくれません。(当たり前ですが)
こういう場合どうしたらいいでしょうか。
とりあえず説明が下手で申し訳ないので、ソースを貼ります。
<b>名前色 </b><select name="ncolor">
EOM
foreach (0 .. $#COLORS) {
print "<option value=\"$COLORS[$_]\" style=color:$COLORS[$_]>$IROIRO[$_]\n";
}
print <<"EOM";
</select> <input type=text name="ncolor" size=17>
こんな感じでよろしくお願いします。
0532nobodyさん
04/11/27 00:48:11ID:???2つのnameを別々にして
ifでtextが入ってればselectの値を無視してtextを優先でいいんじゃないの?
nameを一緒にしないといけない理由とかあるのかな?
0534nobodyさん
04/11/27 02:06:38ID:???>>532
レスありがとうございます。
そうですね、nameを一緒にする必要は全くありませんでした。
あほですいません。
ifで構文を作るにあたって、基本はわかってるつもりなんですが
「無視する」というか無効にするというようなコマンドがわからないのですが
もしよろしければ構文の簡単な例など教えていただけませんでしょうか。
手元のマニュアルを熟読し、ウェブでもずっと検索して探してみたのですが
読み方検索の仕方が悪いのか、さっぱり見つかりませんでした。
本当にあつかましくて申し訳ありません。
0535nobodyさん
04/11/27 02:44:12ID:???受け取ったデータでいらないものはどうするって質問?それとも釣り?
釣りじゃなきゃ勉強し直したほうが良いよ
配布してるスクリプトでも眺めて何をどうしてるのか自分で調べてみ
0536nobodyさん
04/11/27 04:18:54ID:5LX6miUQ先生改めて多謝です南無南無。
>ディレクトリとかで管理するメリットは項目が後々足しやすいとか
>画像などユーザ別のファイルアップロードにも対応できるぐらい
確かにユーザごとにディレクトリがあれば、個々の画像ファイル等は管理しやすいですね。
>DBD::CSVはSQL使えるから
そうなんですか!?ということは、
select読み出し、insertコマンドで書込み等が可能なのですか?
0537nobodyさん
04/11/27 06:28:45ID:???「検索」って言葉知ってる?
http://homepage3.nifty.com/hippo2000/perltips/DBD/csv.htm
0538nobodyさん
04/11/27 08:45:58ID:???0539nobodyさん
04/11/27 14:31:46ID:???うむ SQL使える
だから「DBD」::CSVなんだよ
CSV操作だけなら
Text::CSV_XSでできるから。
確かにここは質問スレではないから後は頑張ってちょうだい
0540nobodyさん
04/11/27 14:34:36ID:???0541nobodyさん
04/11/27 15:47:41ID:???日本語的にはそうだが
http://pc5.2ch.net/test/read.cgi/php/1101522903/
のほうが本当の質問スレ
0542nobodyさん
04/11/27 16:30:05ID:???2ちゃんねるガイド:応用
http://info.2ch.net/guide/adv.html#saku_guide
削除ガイドラインの6.連続投稿・重複の重複スレッドで、
本来は削除されるべきスレッドと思われ。
削除依頼されなかったか(今以上に過疎板だったらしい)、
ネタスレ(雑談その他)の判断で残されたのかも知れないけどね。
0544nobodyさん
04/11/27 17:32:01ID:???$ln = "$hour\t$min\t$ENV{'REMOTE_HOST'}\t"
. "$ENV{'HTTP_REFERER'}\t$ENV{'HTTP_USER_AGENT'}\n";
があったのですが
つぎの4-3のcgiでは
# アクセスログ集計
$tm = time;
for($i = 0 ; $i < $EXPIRES ; ++$i) {
# ログファイルを開く
($sec, $min, $hour, $mday, $mon, $year) = localtime($tm - $i * 60 * 60 * 24);
$year += 1900;
++$mon;
open(FILE, "<$LOGPATH$year$mon$mday.dat") or next;
eval{ flock(FILE, 1) };
# アクセスログ集計
while($ln = <FILE>) {
# 項目の切り出し
($hour, $min, $host, $refer, $agent) = split(/\t/, $ln);
++$freq[$hour];
}close FILE;
といきなり切り出しになってます。
パールって前でつくったcgiの変数はあたらしいcgiをつくってみ生きてるんですか?
0545nobodyさん
04/11/27 19:16:32ID:???■ このスレッドは過去ログ倉庫に格納されています