5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Perlについての質問箱 10箱目

1 :デフォルトの名無しさん:04/05/26 18:47
"The duct tape of the Internet"こと、
Perlについての質問箱です
"There's more than one way to do it"ということで
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc2.2ch.net/php/ )

CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするので
WEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。

過去ログは>>2-4あたり

952 :デフォルトの名無しさん:04/07/26 22:00
>>949
http://search.cpan.org/modlist/Graphics
http://search.cpan.org/~lukka/Graphics-Simple-0.04/

一口にグラフィックと言っても色々あるから、君が何を作る為に
「窓を開いて線を引く」という事をしたいのか説明してくれないと、
適切な答は返ってこないよ。

開発環境を無料で用意したいだけなら C/C++ でも Java でも
揃うしね。

953 :デフォルトの名無しさん:04/07/26 22:15
Perl/Tkってのがあるな

954 :929:04/07/26 22:29
>>950
単純に"perl""Win32API"とかでぐぐってみたのですが、もう少し工夫すべきだったでしょうか。
Win32::GUIやPerl/Tkですか。ありがとうございます。ぐぐってみます。

>>951
Susieプラグインですか?ありがとうございます。ぐぐってみます。

>>952
URLありがとうございます。
具体的には、オセロなどのゲームプログラムをWindows環境で作りたいのです。
DOS環境やUNIX環境で作ったことがあるので、アルゴリズムは分かるのですが、
ウィンドウ・グラフィック・マウスのイベント処理が分からなくて挫折していました。
C/C++やJavaも無料で開発環境が揃うんですね。


皆さん本当にありがとうございますm(_ _)m
ぐぐっても挫折したらまた質問させて頂きます(汗

955 :デフォルトの名無しさん:04/07/26 22:30
あたしだけ無視されちゃった

956 :デフォルトの名無しさん:04/07/26 22:32
Perl でイベントドリブンか・・・

957 :929:04/07/26 22:34
>>955
953ですか?失礼しました(;・∀・)
参考にさせて頂きます。

958 :929:04/07/26 22:35
訂正)
953ですか?→953さんですか?

959 :デフォルトの名無しさん:04/07/26 22:39
>>954
なんか前どっかのスレでDOS環境で作ったオセロのログファイルが何たらって質問してたやつがいたな。
まあ、それはおいといて。

趣味でプログラムやってますって程度ならお前さんの場合HSPあたり使ったらいいんじゃないか?お前さんの場合それが最善の道な気がするぞ。
コンソールプログラムでオセロ作れたからって一足飛びでGUIプログラムかけるようにはならんて。

960 :954=929:04/07/26 22:54
>>959
一応コンピュータ専門です(汗

HSPをぐぐったら、BASICのようなインタプリタ言語で、結構使いやすそうでした。
でも、出来れば思考プログラムまで作りたいので、インタプリタだと実行速度が心配です。

オセロが作れたからGUIプログラムが直ぐに作れるわけではないというのは、おっしゃる通りだと思います。

961 :デフォルトの名無しさん:04/07/26 22:57
>>960
Perl もインタプリタだ、実行効率はインタプリタの中でもいい方だけど。

Delphiとか使ってみたら?

962 :デフォルトの名無しさん:04/07/26 23:01
>>960

実行速度が心配な部分だけC++でDLL作れ。

963 :960:04/07/26 23:13
>>961
確かにPerlもインタプリタでした(汗

Delphiの方が初心者向けみたいですけど、有料でした・・・。
personalとそれ以上の値段の差が激しいですね。

>>962
そうしてみます。
DLLプログラミングの勉強は、これからです(汗

964 :デフォルトの名無しさん:04/07/26 23:18
>>960=949の人
なにも一から全部HSP(あるいはPerl/Tk)で書けってんじゃない。その思考ルーチンの部分はCで書けばいいじゃないか。
要は、君はGUIのオセロが作りたいわけで、そしてそのオセロの思考ルーチンをこそ作りたいわけで、
別に「GUIプログラミングするためのイベントドリブン云々とかを研究する」が今の目的じゃないだろ?
それなら、その本筋とは関係ない"障害"をなるべく回避できるように努めればいい。
目的のために今何が必要で何が不必要か見極めれ。

# で、GUIプログラミングのほうがメインというなら、オセロ云々は君にとって今はそれは最終目的地であって、
# まずはメッセージボックス出すところからでもはじめなさいってこった。

965 :960=949の人:04/07/26 23:33
>>964
まさにご指摘の通りです。
非常に適切なアドバイスをありがとうございますm(_ _)m

とりあえずDLLとかの形でGUI部分と演算部分を分けた方が良さそうですね。
がんがります。

966 :デフォルトの名無しさん:04/07/26 23:44
(´-`).。oO(本当に「ま」の字の人なんだろうか・・・)

967 :デフォルトの名無しさん:04/07/26 23:51
(´-`).。oO(ここはム板なんだけど・・・)

968 :デフォルトの名無しさん:04/07/27 00:06
HSPでも思考ルーチン書けるよ

969 :デフォルトの名無しさん:04/07/27 00:23
書けても実行速度が・・・。

970 :デフォルトの名無しさん:04/07/27 00:42
CもJavaもDelphiも知らないコンピュータ専門って居るんだな
VB屋?

971 :デフォルトの名無しさん:04/07/27 00:44
VB屋でもキテル奴は結構キテルぞ
下手なC/C++屋なんて目じゃないって奴が時々いる

972 :965:04/07/27 00:49
CとJavaは使えるけどDelphiは使ったことがないです。
というかDOS時代からC使いでした。
ゐんどうずはDOSと比べて難しすぎます・・・。

973 :デフォルトの名無しさん:04/07/27 00:52
>>972
あんた、ブランク長い?
浦島太郎みたいな感じだよ

974 :972:04/07/27 01:12
>>973
ゐんどうずのプログラムはVisualBasicで組んでます。
後はUNIX環境でCとかPerlとかmatlabとかMathematicaとか使えば済んでしまうので、
あまりゐんどうずのプログラムは勉強して無かったです・・・。

975 :デフォルトの名無しさん:04/07/27 01:47
perlは配列を返すサブルーチンをかけない
○ か ×か、さぁどっち!

976 :デフォルトの名無しさん:04/07/27 01:54
perlのファイルアップロードプログラムで管理画面から頻繁に画像を更新するばあい、
画像がどうしてもキャッシュから参照して古い画像が表示されてすまいます。
アップ後の画像ファイル名を変えずにブラウザに画像をキャッシュさせない方法知りませんか?

イメージとしてはperlで利用できるHTTPヘッダーとか利用して何とかなりませんかね。。

▼これはためしてみましたが駄目でした。
●pragma: no-cacheを画像のヘッダーにつけてファイルを閉じる
→画像が表示されない。。

いいほうほうがありまたら、どなたかおしえてくださりませんか。。

977 :974:04/07/27 02:00
>>975
×
方法は忘れたけど、何らかの形で配列を返す関数は書いたことがあります。

978 :奈々 ◆Xl6OTFSLJ2 :04/07/27 02:09
>>975

理由:なんとなく

979 :デフォルトの名無しさん:04/07/27 02:20
>>975
正直、リファレンスで構造体を返す事もできる。

答えは、どんな形でも返せる。

980 :デフォルトの名無しさん:04/07/27 02:21
>>977
>>978
あ、いい忘れたけど。
特別な方法を取らなくても配列なら戻り値にできるから。
じゃ。

981 :デフォルトの名無しさん:04/07/27 02:22
#!/usr/local/bin/perl

@a = &arrayfunc(10);
foreach (@a){
print "$_\n";
}

exit(0);

sub arrayfunc()
{
local($num) = @_;

for($i = 0; $i < $num; $i++){
$result[$i] = $i * 2;
}
return @result;
}


982 :デフォルトの名無しさん:04/07/27 02:25
>>976
●pragma: no-cacheを画像のヘッダーにつけてファイルを閉じる
をするのと、さらに cgi から直接 jpg/gif 等のバイナリを出力する方法があるので、
画像へのリンクとはせずに cgi へのリンクを開くようにさせればよい。


983 :デフォルトの名無しさん:04/07/27 02:26
>>981
なぜlocalを使う。
レキシカルだろ。普通。

984 :デフォルトの名無しさん:04/07/27 02:27
wantarray 使おうぜ


985 :デフォルトの名無しさん:04/07/27 02:33
>>976

たとえば

<img src="/cgi-bin/imageout.cgi" border="0">

としておいて、

--------

$size = -s $file;
$buf = '';

if(!(-e $file)){
print "Content-Type: image/jpeg\n";
print "Content-Length: $size\n";
print "pragma: no-cache\n";
print "\n";
open(INF, $file);
binmode(INF);
binmode(STDOUT);
read(INF, $buf, $size);
print $buf;
close(INF);
}


986 :デフォルトの名無しさん:04/07/27 02:35
>>983
ごめん my にするつもりでうっかり…

987 :デフォルトの名無しさん:04/07/27 02:38
>>984
こうですか?

sub arrayfunc()
{
  local($num) = @_;

  for($i = 0; $i < $num; $i++){
    $result[$i] = $i * 2;
  }
  return wantarray ? @result : undef;
}


988 :デフォルトの名無しさん:04/07/27 03:24
>>987
>>983


989 :デフォルトの名無しさん:04/07/27 08:08
>>981
それは、配列じゃなくてリストが返されてると思いますが・・・

990 :デフォルトの名無しさん:04/07/27 08:14
なんかperlらしくないので

sub arrayfunc($){
wantarray ?
map{
$_ * 2;
# ここにつらつら
}0..$_[0]
: '';
}


991 :デフォルトの名無しさん:04/07/27 08:56
>>975
ひっかけ問題。
サブルーチン側がリストを返そうとしていても
呼び出し側のコンテキストがスカラーコンテキストの場合
リストの要素数が返ってしまう。


992 :デフォルトの名無しさん:04/07/27 08:59
言葉遊び?
配列そのものは返せないだろ

993 :デフォルトの名無しさん:04/07/27 09:05
>>991 サブルーチンを書けるか?
と聞いているから、呼ぶ側の条件は
無視していいだろ?


994 :デフォルトの名無しさん:04/07/27 09:07
>>976
>●pragma: no-cacheを画像のヘッダーにつけてファイルを閉じる
画像ファイルにこれ書き込んだの?ファイル壊してるだけだよ^^;

imgタグのsrcに書くパスの最後に ? を付け加えて味噌


995 :デフォルトの名無しさん:04/07/27 09:12
次スレたててくる。

996 :デフォルトの名無しさん:04/07/27 09:56
996

997 :デフォルトの名無しさん:04/07/27 10:41
>>976
アップローダって事は、 CGI ですね。
994 氏と似通っていますが、たとえば参照したい画像のファイル名が 0123.jpg でしたら、
0123.jpg?適当な文字列
を出力すると桶です。
凡例:
sprintf qq|<img src="$Image_Filename?%d">|, time;

998 :デフォルトの名無しさん:04/07/27 13:13
記念カキコ v(^-^=)

999 :デフォルトの名無しさん:04/07/27 13:20
999かな

1000 :デフォルトの名無しさん:04/07/27 13:20
ちんぽみるくでるぅっっっっっっっっっっっ!!!!!


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

251 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)