Site hosted by Angelfire.com: Build your free website today!
■過去ログ倉庫めにゅーに戻る■

【Perl 】初心者コーナーPart4

1 名前:名無しさん 投稿日:2001/03/13(火) 05:49
初めて来た方、初心者はまずこのスレッドから始めよう。
尋ねる前に同じ質問がないかこのスレや旧スレ、及び下のリンクを一通り見てみよう。
案外答えはもう書かれているかもしれない。

[関連スレッド]
Part1 
http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521
【Perl,CGI】参考書籍 http://tako.2ch.net/test/read.cgi?bbs=perl&key=970166109

[総合]
□Perl Com: http://www.perl.com/pub/
□CPAN.com: http://search.cpan.org/
□ActivePerl: http://www.activestate.com/

[お薦め]
 ・Perl Recipes: http://www.effectiveperl.com/recipes/
 ・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
 ・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
 ・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html

[Module]
 ・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module/
 ・PPMPackages: http://www.activestate.com/PPMPackages/
 ・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm

[Document&Tutorial]
 ・Perl News: http://www.news.perl.org/
 ・Perl Monks: http://www.perlmonks.org/
 ・PerlMonth - Online Perl Magazine - : http://www.perlmonth.com/index.html
 ・use Perl All The Perl: http://use.perl.org/
 ・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
 ・Perldoc.com: http://www.perldoc.com/
 ・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
 ・Rex Swain's Home Page: http://www.rexswain.com/
 ・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
 ・Perl Tuts: http://savage.net.au/Perl-tutorials.html
 ・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
 ・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
 ・Perl for Newbie: http://www.harukaze.net/~mishima/perl/index.html
 ・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
 ・Perlfect Solutions: http://perlfect.com/
 ・The Perl Archive : http://www.perlarchive.com/


2 名前:名無しさん 投稿日:2001/03/13(火) 05:50
[Mailinglist]
 ・FreeML:
http://www.freeml.com/ml_mess.php?ml=perl
 ・OOP w- Perl: http://perl-oop.hoops.ne.jp/
 ・CGIメーリングリスト: http://forest.ne.jp/cgi-ml/
 ・WWW Mailing Lists Archives at MPE: http://www.xray.mpe.mpg.de/mailing-lists/

[NetNews Achive]
 ・fj.lang.perl: ftp://ftp.jaist.ac.jp/pub/news-archive/fj.lang.perl/
 ・fj.comp.lang.perl: ftp://ftp.jaist.ac.jp/pub/news-archive/fj.comp.lang.perl/
 ・japan.comp.lang.perl: ftp://ftp.jaist.ac.jp/pub/news-archive/japan.comp.lang.perl/

[Perl for Win32]
 ・dada's perl lab: http://dada.perl.it/
 ・Perl for Win32: http://www.northbound-train.com/perlwin32.html

[Perl/Tk]
 ・Perltk.org: http://perltk.org/
 ・Perl-Tk 日本語化 パッチ: http://mirror.nucba.ac.jp/users/tsutomu/perltk/jp-patch.html
 ・有限会社ビットウォーク: http://www1.odn.ne.jp/bitwalk/index.html
 ・comp.lang.perl.tk FAQ: http://w4.lns.cornell.edu/~pvhp/ptk/ptkFAQ.html

[misc]
 ・Perl Mongers: http://www.perlmongers.org/
 ・Embperl: http://perl.apache.org/embperl/
 ・bio.perl.org: http://bio.perl.org/


3 名前:_gunzip 投稿日:2001/03/13(火) 05:55
ちなみに、↑のリンクは、↓のスクリプトでIEのお気に入りをリスト化したものから、
2/3ほど削除して短くしたものです。
#朝起きて作成10分テスト5分

#!/usr/bin/perl -w

sub walkdown{
    my($dir,$level) = @_;
    local(*D,*F);
    my($basename,$url,$path);
    
    opendir(D,$dir) or die "Can't open $dir";
    foreach(readdir(D)){
        next if $_ eq '.' or $_ eq '..';
        $path = "$dir/$_";
        if(-f $path){
            if(/^([^\/]+)\.url\z/i){
                $basename = $1;
                open(F,$path) or die "Can't open $path";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(<F>){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chomp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$url = $1 if /^URL=(.+)\z/;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close F;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print " " x $level , "・$basename: $url\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elsif(-d _){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print " " x $level , "[$_]\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;walkdown($path,$level + 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;closedir(D);
}

walkdown("C:/Windows/Favorites/Perl",0);


4 名前:名無しさん 投稿日:2001/03/13(火) 06:17
お疲れ様ー

5 名前:_gunzip 投稿日:2001/03/13(火) 06:41
>>4
ありがとー

6 名前:名無しさん 投稿日:2001/03/13(火) 08:49
>>3
自慢したくて仕方ないんだね。

7 名前:名無しさん 投稿日:2001/03/13(火) 09:17
>>6
自慢だろうと何だろうと、便利なんだからいいじゃん。感謝感謝

8 名前:名無しさん 投稿日:2001/03/13(火) 10:06
>6
お前もたいがいつまらんな奴だな。

9 名前:_gunzip 投稿日:2001/03/13(火) 10:59
>>6
別にそんなつもりはないない。
朝起きて、いちいちURLをコピーして貼り付けるのを繰り返すのが面倒だから書いただけ。
こういったことがすぐに出来てPerlは便利だな、と思ったから貼り付けただけで
(確かに余計なことだったな。今後はやらない)別に他意は無い。
---
それ以前に、自分には>3は単なる書き捨ての(ゴミ)スクリプトにしか見えないのだが、
一体何処から「自慢」云々といった発想が浮かんでくるのか、さっぱり分からん。
もしかして、3が「人に自慢できる」レベルのものに見えるのか?


10 名前:あらすぃ 投稿日:2001/03/13(火) 11:20
6=粘着,低レベル厨房


11 名前:6 投稿日:2001/03/13(火) 11:52
>>9
判れば宜しい。
「朝起きて作成10分テスト5分」と書かなければ良かったのだが。

12 名前:JAPA (Just Another Perl Analer) 投稿日:2001/03/13(火) 12:16
完全にスレと関係無い話のような気が・・・。

13 名前:_gunzip 投稿日:2001/03/13(火) 12:38
>>11
ああ、そこが悪かったのか。
何気なく書いただけなのだが、確かに、そう取られても仕方ない。
(別に嘘を書いたわけではないが、余計なことを書いたのは事実だな。
あれは、ただ「Perlだとすぐに書けるのう」と言いたかっただけだ。
誤解を与えたなら、すまん。)
ん、今後は気をつけないと。
>>12
すみません。自分の不注意故です。


14 名前:名無しさん 投稿日:2001/03/13(火) 12:47
>6
毎朝1センチずつ刻まれて死んでくれ。
>13
おれも妬まれるくらいになりたいにょ。

15 名前:名無しさん 投稿日:2001/03/13(火) 12:47
>JAPA
Analerってアナル人ですか(萌

16 名前:名無しさん 投稿日:2001/03/13(火) 12:48
gunzipさんは大人やねえ。

17 名前:名無しさん 投稿日:2001/03/13(火) 12:57
なんか変な雰囲気ですけど・・・まあいいや
Perlにはswitch文がないらしいですけど、その代替として本に載っている
(Black Bookとかいう本に載っていました)
SWITCH{
if /pattern/ && do{
last SWITCH;
}
if /pattern2/ && do{
last SWITCH;
}
}
とか、if ... elsif 以外のやり方ってありませんか?
どうも上の二つはしっくりこないので。


18 名前:名無しさん 投稿日:2001/03/13(火) 13:06

foreach ($key) {
&nbsp; /pattern$/ and last;
&nbsp; /pattern2$/ and ptn2();
}


19 名前:/bin/名無しさん 投稿日:2001/03/13(火) 13:51
自分のレベルがばれるのは情けないが。
default が非常にあやしいというのは内緒だ。

---

package Switch;
use Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(switch case break);

=usage

use Switch;
chomp($value = <>);
switch $value,
case 'a' => sub {
    print "This is first a.\n";
},
case 'b' => sub {
    print "This is first b.\n";
    break;
},
case 'a' => sub {
    print "This is second a.\n";
},
case 'b' => sub {
    print "This is second b, but will not display ...\n";
},
default => sub {
    print "Other.\n";
};
=cut

BEGIN {
_init;
}

sub break {
'break';
}

sub switch ($%) {
my($value, %other) = @_;
_default(%other);

if(exists $subs{$value}) {
    foreach (@{$subs{$value}}) {
     last if(&$_ eq 'break');
    }
}
elsif($default) {
    &$default;
}

_init;
}

sub case ($$;%) {
my($k, $v, %other) = @_;
unshift(@{$subs{$k}}, $v);
_default(%other);
();
}

sub _default (%) {
my(%other) = @_;
my($k ,$v);
while(($k, $v) = each(%other)) {
    $default = $v if($k eq 'default');
}
}

sub _init {
%subs = ();
$default = '';
$break = 0;
}

1;

20 名前:/bin/名無しさん 投稿日:2001/03/13(火) 13:53
break もあやしいな。
ちなみにネタなので本気にして使わないように。


21 名前:17 投稿日:2001/03/13(火) 15:26
>>18さん19-20(/bin/名無しさん)さん
いろいろありがとうございます。ただ、
すみません。もう少し短くなるようないいアイディアはないでしょうか。
なぜこんな事を聞いているかというと、今書いているスクリプトで、
if($mode eq "a"){a()}
elsif($mode eq "b"){b()}
elsif($mode eq "c"){c()}
elsif($mode eq "d"){d()}
elsif($mode eq "e"){e()}
elsif($mode eq "f"){f()}
else{default()}
こんな処理が何回も延々と続くので、何とかならないかなあ
とおもって質問したのですが・・・



22 名前:_gunzip 投稿日:2001/03/13(火) 15:40
>>21
21を見る限り、$mode と同名のサブルーチンを呼び出したいように見える
けれど、その解釈であっているかな?
で、そうなら、何度もその分岐があるそうなので、その部分をサブルーチン
に纏めるか、ハッシュを使用すると良いと思う。

#!/usr/bin/perl -w

$mode = "hoge"; #いろいろ

%subs = map{($_ => \&{$_} )} qw(a b c d e f);
&{$subs{$mode} or "default"}();

#サブルーチン(内容は適当)
sub a{ print "a() called";}
sub b{ print "b() called";}
sub c{ print "c() called";}
sub d{ print "d() called";}
sub e{ print "e() called";}
sub f{ print "f() called";}
sub default{print "default() called";}

23 名前:_gunzip 投稿日:2001/03/13(火) 15:43
>>21
あと、perldoc perlsync の、"Basic BLOCKs and Switch Statements"
を読むと更に良いと思います。

24 名前:T女の竹田 投稿日:2001/03/13(火) 16:13
>>21=17さん
gunzipさんの>>22のコードが理想的だと思います。
ただ、Perl初心者の自分が書くとしたら、こうかな?

#!/usr/bin/perl&nbsp;-w&nbsp;
$mode='b';
@subnames=('a','b','c','d','e','f');&nbsp;&nbsp;#サブルーチン名のリスト
$flag='false';
foreach&nbsp;(@subnames)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($mode&nbsp;eq&nbsp;$_)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&{$mode};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$flag='true';
&nbsp;&nbsp;&nbsp;&nbsp;}
}
if&nbsp;($flag&nbsp;ne&nbsp;'true')&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&default;
}

#以降サブルーチン
sub&nbsp;a{&nbsp;print&nbsp;"a()&nbsp;called";}&nbsp;
sub&nbsp;b{&nbsp;print&nbsp;"b()&nbsp;called";}&nbsp;
sub&nbsp;c{&nbsp;print&nbsp;"c()&nbsp;called";}&nbsp;
sub&nbsp;d{&nbsp;print&nbsp;"d()&nbsp;called";}&nbsp;
sub&nbsp;e{&nbsp;print&nbsp;"e()&nbsp;called";}&nbsp;
sub&nbsp;f{&nbsp;print&nbsp;"f()&nbsp;called";}&nbsp;
sub&nbsp;default{print&nbsp;"default()&nbsp;called";}&nbsp;

それにしてもgunzipさんのコードは勉強になります。
自己流でやってきたので、mapとかを使ったこともほとんどないし^^;

25 名前:T女の竹田 投稿日:2001/03/13(火) 16:15
s/gunzip/_$&/でしたね、ごめんなさいm(_ _)m

26 名前:名無しさん 投稿日:2001/03/13(火) 17:25
#!/usr/local/bin/perl
system "shutdown";

これ書くとどうなるの?怖くて出来ないぞ。

27 名前:名無しさん 投稿日:2001/03/13(火) 19:28
おまえにはそんな権限は無い。

28 名前:名無しさん 投稿日:2001/03/13(火) 20:24
>>22
use strict下でdefaultが呼ばれたときにエラーになっちまうので、
$mode = 'default' unless exists $subs{$mode} ;
&{$subs{$mode}}();
のほうがよいですね。

というのを踏まえて、俺が書くなら、
use strict;

my %subs = (
a => sub { return 'a called' },
b => sub { return 'b called' },
c => sub { return 'c called' },
d => sub { return 'd called' },
e => sub { return 'e called' },
f => sub { return 'f called' },
def => sub { return 'default called' }
);

my $mode = 'hoge';
$mode = 'def' unless exists $subs{$mode};
print $subs{$mode}();

こんな感じ。


29 名前:名無しさん 投稿日:2001/03/13(火) 20:30
もしくは、
exists $subs{$mode} ? $subs{$mode}() : &default;
って感じだな。

30 名前:28 投稿日:2001/03/13(火) 20:50
あぁ、鬱だ。ミス連発。
$mode = 'default' unless exists $subs{$mode} ;
やるなら、
%subs = map{($_ => \&{$_} )} qw(a b c d e f default);
もやっておかなければなりませんね。
_gunzipさんはわかるだろうけど、わからない人に出来ねーぞって
言われたら落ちるので、補足。
失礼。


31 名前:_gunzip 投稿日:2001/03/13(火) 22:36
>>24-25(T女の竹田),28-30さん。フォローありがとうございます。
>28-30
>use strict下でdefaultが呼ばれたときにエラーになっちまうので、
確かに。普段-wは付けているのですが、strictは無闇に口うるさい
ような気がするので、いつも500行を越えた辺りから付けることにしていました。
ということもあって、>22では、strictをつけた際の挙動については全く考えて
いませんでした。(指摘してくれてありがとう)

んで、僕の代案ですが、こんなのはいかがでしょ。(use strictでも通ります)
$subs{("default",$mode)[exists $subs{$mode}]}();

---
#!/usr/bin/perl -w

use strict;
#our って、5.6以降でしか使えないかも
our %subs = ();
our $mode = "hoge";

%subs = map{($_ => \&{$_} )} qw(a b c d e f default);
$subs{("default",$mode)[exists $subs{$mode}]}();

#サブルーチンは省略


32 名前:( ´∀`)さん 投稿日:2001/03/13(火) 23:14
ふうむ。いろんな人のコードがみられて勉強になるな・・・・
みなさん頑張ってくだされ

33 名前:32 投稿日:2001/03/13(火) 23:15
クッキー残ってた・・・鬱だ・・・
(いつもどこにいるかまるわかりじゃん)

34 名前:名無しさん 投稿日:2001/03/13(火) 23:18
(FALSE_EXPR, TRUE_EXPR)[TEST_EXPR]
すごいトリッキー・・・はじめて見た。
ふつうに使われてるのですか?こういうのって。
ただ、実装は別として、exists は偽真を返すわけで、0 or 1 を
返すことが保証されてはいないと思うので、注意が必要かも。
これなら、
$subs{ exists $subs{$mode} ? $mode : "default" }();
のほうが安全でない?


35 名前:_gunzip 投稿日:2001/03/13(火) 23:47
>>34
>ふつうに使われてるのですか?こういうのって。
さあ、そんなことはないと思います・・・
>exists は偽真を返すわけで、0 or 1 を
>返すことが保証されてはいないと思うので、注意が必要かも。
僕もそう思います。う〜ん。ただ、こんなやり方もある、ということで。
>$subs{ exists $subs{$mode} ? $mode : "default" }();
>のほうが安全でない?
これも、全くその通りだと思いますです。
この書き方も考えたのですが(というか、始めこれしか思いつかなかった)
もうちょっといい方法はないかなあ、と考えているうちに、少し前、
ループの中で変数$indexの値を、0->1->2->3->0->1->2->3->0->1->...
のように変化させる(0からスタートして3までインクリメントしたらリセット)際、
$index++ % 4;
とか、
$index = 0 if $index++ < 4;
に混じって、
$index *= if $index++ < 4;
のようにも書けるなあ、と思ったのを思い出して、ふと
$subs{("default",$mode)[exists $subs{$mode}]}();
もいけるな、と書いたわけです。
#やっぱり、ちょっと変な書き方ですな・・・
#しかし、長い・・・

36 名前:/bin/名無しさん 投稿日:2001/03/14(水) 00:15
31 のトリックは普通思いつかない・・・。

>>35

$index++ % 4; # $index への代入が無い
$index = 0 if $index++ < 4; # $index は 0 か 4以上
$index *= if $index++ < 4; # エラー

になりますが。


37 名前:_gunzip 投稿日:2001/03/14(水) 08:48
>>36
間違い間違い。
>$index *= if $index++ < 4; # エラー
は、($index = 0から)
$index *= $index++ < 3; # エラー

>$index++ % 4; # $index への代入が無い
代入せずに、$array[$index++ % 4]とかで使う(って書いとかないと)

>$index = 0 if $index++ < 4; # $index は 0 か 4以上
は、($index = -1;からスタート)
$index = 0 if $index++ > 2;
これもミス・・・(三つとも間違っているなんてどうかしてるなあ)


38 名前:_gunzip 投稿日:2001/03/14(水) 08:49
またやった
>$index *= $index++ < 3; # エラー
は、
$index *= $index++ < 3;
(エラーにはならないです)

39 名前:_gunzip 投稿日:2001/03/14(水) 09:08
#とことん不注意だな。俺は。
間違い・・・>37の最初のは$index = -1から。
↓テスト
$index = -1;
$count = 20;
while($count--){
&nbsp;&nbsp;&nbsp;&nbsp;$index *= $index++ < 3;
&nbsp;&nbsp;&nbsp;&nbsp;print "$index->";
}
#result
0->1->2->3->0->1->2->3->0->1->2->3->0->1->2->3->0->1->2->3->

40 名前:JAPA (Just Another Perl Analer) 投稿日:2001/03/14(水) 10:11
エヘン虫たじたじ。
たけし監督もたじたじ。
_gunzipさんもたじたじ。

41 名前:名無しさん 投稿日:2001/03/14(水) 10:19
↑何言うとるのかわからん

42 名前:名無しさん 投稿日:2001/03/14(水) 10:32
6 = japu


43 名前:名無しさん 投稿日:2001/03/14(水) 14:38
一般的に言って、どのDBMを使うのがいいですか?
格納したいのは千件程度なので簡単に済ませたいのですが。

44 名前:名無しさん 投稿日:2001/03/14(水) 23:19
Perlでファイルの属性を変えるにはどうすればいいのですか?

45 名前:44 投稿日:2001/03/14(水) 23:39
chmod見つけた。鬱

46 名前:名無しさん 投稿日:2001/03/15(木) 01:17
アルファベットの辞書を作成できるCGIを探しています。御存知の方,ぜひ教えてください。

47 名前:名無しさん 投稿日:2001/03/15(木) 02:43
http://www.***.com/redirect.cgi?url=http://www.***.net/
のような形で、別のページに飛ばすCGIを作っていただけないでしょうか。

48 名前:名無しさん 投稿日:2001/03/15(木) 03:08
マルチポストはやめましょ。

#!/usr/bin/perl
print "Location: ", ($ENV{QUERY_STRING} =~ /url=(.+)/), "\n\n";

これを使って何をやりたいのかいまいち掴めないけど?


49 名前:名無しさん 投稿日:2001/03/15(木) 18:29
転送サービスのCGI欲しいです
作ってください
裏ニュースみたいな感じのやつ。

50 名前:名無しさん 投稿日:2001/03/15(木) 19:01
>>49
Shine,Bokenasu!

51 名前:名無しさん 投稿日:2001/03/15(木) 21:35
Perl/CGIの勉強のためによくスクリプトを読め、と言われますが、
初級者が読むのにおすすめのスクリプトはありますでしょうか。
CGIとしての利用を考えているので、できればCGIスクリプトを希望。

52 名前:名無しさん 投稿日:2001/03/15(木) 21:49
>>51
KENT-WEB
http://www.kent-web.com


53 名前:51 投稿日:2001/03/15(木) 21:56
>>52
アドバイスありがとうございます。
が…、失礼なんですが、マジレスですか?
KENT WEBってここじゃすごい評判悪いですよね…。ネタ?

54 名前:49 投稿日:2001/03/15(木) 21:57
>>50
Shineは意味が分かりますが、Bokenasu!とはどういう意味ですか?

55 名前:_gunzip 投稿日:2001/03/15(木) 22:14
>>53
japuさんの
http://yasu.asuka.net/soft/tinybbs.html
なんかは?

56 名前:名無しさん 投稿日:2001/03/15(木) 22:49
>JAPA
それ、本家と紛らわしいです。

57 名前:名無しさん 投稿日:2001/03/15(木) 23:15
>>49
海外で探せよ、馬鹿。
http://www.cgi-resources.com/

58 名前:名無しさん 投稿日:2001/03/15(木) 23:27
>>57
作ってくださいとか欲しいとかぬかすスレ違いの
ボケを甘やかすな。

59 名前:49 投稿日:2001/03/15(木) 23:32
どうして誰もまともに答えてくれないのかな?

もしかしてここにいる人たちって、人を馬鹿にすることはできるけど
知識全然ないのかな。暇つぶしにきているだけ?
それなら、こんな変な人のところできいた漏れが間違っているということか。

60 名前:名無しさん 投稿日:2001/03/15(木) 23:36
↑コピペ
http://yasai.2ch.net/test/read.cgi?bbs=win&key=984481191


61 名前:名無しさん 投稿日:2001/03/15(木) 23:43
カウンタのスクリプト。
開始時の値を変更するのは何をどう変更してやればいいの?

62 名前:名無しさん 投稿日:2001/03/16(金) 00:01
>>61
ログ。

これ以上の回答はその質問の仕方じゃ無理。
なんで細かい情報を書かないの?
超能力者でもないかぎりあなたがどんなスクリプト使ってるのか
どんな環境なのかわかるわけないでしょ。
それが分からなきゃまともな回答なんて誰も出来ないぞ。

63 名前:61 投稿日:2001/03/16(金) 00:21
ごめん。めっちゃ説明足りなかった。
KENTの、
http://www.kent-web.com/count/ecount.html?
このスクリプトです。



64 名前:はう 投稿日:2001/03/16(金) 00:30
>61
希望のカウント数までリロードしましょ

65 名前:62 投稿日:2001/03/16(金) 00:38
ecount.datをメモ帳で開いて希望カウント数を書くだけでOK。


66 名前:61 投稿日:2001/03/16(金) 00:48
>>62
ありがとう!恩にきるよ。

67 名前:何も分かっていない人 投稿日:2001/03/16(金) 10:00
Perl5.6 って、何が変わったのですか?
今までのスクリプトが動かなくなることってあります?
そもそも、入れる価値ってありますか?

68 名前:名無しさん 投稿日:2001/03/16(金) 11:45
>>67
もしかして、ユーザーに入れろと
せっつかれた へぼへぼ管理者?

原則として動かなくなることはありません。
処理速度が速くなりました。
入れなければ、ユーザーから鉄槌を下されます。

と書いて、5.6化を推進しておこう。

つか、資料あふれてるだろ。 ちょっとは調べなよ (脱力)


69 名前:何も分かっていない人 投稿日:2001/03/16(金) 12:44
>>68
いや、これからPerlを勉強しようと思っていたのですが、
5.6と5.005があるようで、どちらを入れるべきか、と思ったからです。
(「そもそも、入れる価値ってありますか? 」っていう聞き方が悪かったかも)
とにかくありがとう。


70 名前:68 投稿日:2001/03/16(金) 12:52
そうだったんだ。ごめん。

それなら、問答無用で5.6。
十分、安定していると思います。


71 名前:名無しさん 投稿日:2001/03/16(金) 13:37
Perlはよく使うのですが、
他のプラットフォームから持ってきたPerlスクリプトを
漢字コードを変換してから実行するのには、
やはり、nkf等でいったん変換して書き換えるか、
別ファイルに落として、それを実行するしかないのでしょうか????
例えば、test.plがEUCとして、
nkf32 -s test.pl >test.pls
perl test.pls
とか。


72 名前:名無しさん 投稿日:2001/03/16(金) 13:46
>>71
ん? 別にどこでも一緒ですよ。
文字化けしたら、変換したらどうですか?


73 名前:_gunzip 投稿日:2001/03/16(金) 13:49
>>71
perl -M"Filter::exec qw[nkf32 -s]" script_name


74 名前:_gunzip 投稿日:2001/03/16(金) 13:51
あと、何度も使用するスクリプトならば、面倒くさがらず変換した方がいい。
>73のにはFilterモジュールが必要。


75 名前:69 投稿日:2001/03/16(金) 13:57
>>70
いえいえ。自分の質問の仕方が悪かったです。(名前欄も)
上のリンクにあったサイトからActivePerl5.6というのをダウンロードして
インストールしました。
perl -v
でちゃんとThis is Perl.....とかが出てきたので大丈夫だと思います。
また何かあったらここに質問させてもらうかもしれません。
ありがとうございました。


76 名前:名も無き冒険者 投稿日:2001/03/16(金) 14:22
アクセスした人に5段階で評価してもらう
プログラムを作りたいと思っています
(ジオシティのランキングみたいなやつ)

ソースを公開しているサイトはありませんか?
漠然とした質問ですいません


77 名前:49 投稿日:2001/03/16(金) 14:43
>>76
名前以外に何がないの?

78 名前:名無しさん 投稿日:2001/03/16(金) 15:18
相対パスって一体なんですか?

79 名前:/bin/名無しさん 投稿日:2001/03/16(金) 15:30
>>78

現在のディレクトリから見たパスが相対パスだということを
勉強する前にもっと勉強することありと見たが如何。


80 名前:めっちゃ初心者です@カウンタについて 投稿日:2001/03/16(金) 15:51
http://www.din.or.jp/~ohtan/cgi.html
ここのスクリプトなんですが、8番に

8.GIF画像格納用ディレクトリ(通常は変更不要)
$imgdir = './images/';

と書いてあります。
それで、私がスペースを借りているサーバは、cgiディレクトリには画像が置けないんです。
http://×××/cgi-bin/image/
に、カウンター用の画像が置いてある場合、この部分をどう書き直してやればいいのでしょうか。
初歩的な質問ですみませんが、宜しくお願い致します。

81 名前:80 投稿日:2001/03/16(金) 15:53
すみません、間違えました。
画像が置いてあるのは
http://×××/image/count
です。


82 名前:名無しさん 投稿日:2001/03/16(金) 15:59
$imgdir = '../image/count/';
は?

83 名前:名無しさん 投稿日:2001/03/16(金) 16:00
一般的な、場所借りサーバーだと
'../image/count/'になるかなあ。

URLではなくてFTPでパスを確認してね。
#CGIの質問スレのがいいかなあ。


84 名前:80 投稿日:2001/03/16(金) 16:03
>>82
>>83
すみません、ありがとうございました。
参考にさせて頂きます。

85 名前:71 投稿日:2001/03/16(金) 16:06
>>72-74
ただ単にバッチ処理で全て変換すれば済むことでした・・・・すみません。

>>72
>文字化けしたら、変換したらどうですか?
ハイ。その通りです・・・

>>73-74
Filterモジュールなんて知らなかったので、勉強になりました。


86 名前:名無しさん 投稿日:2001/03/16(金) 16:59
    while($line = <RIREKI>){
        chomp($line);
        if($flag == 0){
            if($n eq ''){
                if($line eq "[$mon]"){
                    $flag = 1;
                }
                next;
            }elseif($n ne ''){
                if($line eq $n){
                    $flag = 1;
                }
                next;
            }
        }elsif($line =~ /\[/){
            last;
        }else{
            ($namae, $hiduke) = split(/:/, $line);
以下省略。

これだとエラーになってしまいます。
間違いがわかりません、指摘してください。

87 名前:86 投稿日:2001/03/16(金) 17:02
while($line = <RIREKI>){
    chomp($line);
    if($flag == 0){
        if($n eq ''){
            if($line eq "[$mon]"){
                $flag = 1;
            }
            next;
        }elseif($n ne ''){
            if($line eq $n){
                $flag = 1;
            }
            next;
        }
    }elsif($line =~ /\[/){
        last;
    }else{
         ($namae, $hiduke) = split(/:/, $line);

あれ、タブが反映されない?

88 名前:_gunzip 投稿日:2001/03/16(金) 17:06
>>86-87
×elseif
○elsif
あと、ブラケットの整合はとれてる?

while($line = <RIREKI>){
&nbsp;&nbsp;&nbsp;&nbsp;chomp($line);
&nbsp;&nbsp;&nbsp;&nbsp;if($flag == 0){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($n eq ''){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($line eq "[$mon]"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$flag = 1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elsif($n ne ''){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($line eq $n){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$flag = 1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}elsif($line =~ /\[/){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;($namae, $hiduke) = split(/:/, $line);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
}


89 名前:86 投稿日:2001/03/16(金) 17:06
2回も書いてすみません
変数の値は正常に与えられると考えてください

90 名前:86 投稿日:2001/03/16(金) 17:12
>>88
初歩的なミスをやってしまいました。(汗
ありがとうございました。

91 名前:名無しさん 投稿日:2001/03/16(金) 17:34
>>80
もう遅いかもしらんが、CGIでgifを読み込むタイプのカウンタだから、
gifの位置変えなくてもOKだと思うぞ。

92 名前:名無しさん 投稿日:2001/03/16(金) 22:23
>73のモジュールとかってドコにあるの?
そもそもモジュールってどうやってインストすんの?

93 名前:名無しさん 投稿日:2001/03/16(金) 23:22
お手本を見ながらPerlの勉強をしているのですが、UNIXとちがって
NTはシンタックス(?)が甘いと聞いたのですが、これはどういう意味なのでしょうか?


94 名前:名無しさん 投稿日:2001/03/16(金) 23:39
>>93
syntaxは構文とか、(プログラミング言語の)文法といった
意味合いで使いますが、そんな話は初めて聞きました。


95 名前:80 投稿日:2001/03/17(土) 00:06
>>91
91さんの言ったとおりに素直に設置してみたら、出来ました。
すごく嬉しいです、ありがとうございました!

96 名前:名無しさん 投稿日:2001/03/17(土) 09:11
>>93
それを聞いた相手に質問するべきだね
同じバージョンならOSは違っても文法は同じですよ


97 名前:名無しさん 投稿日:2001/03/17(土) 22:25
窓でActivePerl使ってるけれど、Perlのモジュールって依存性とかは気にしなくていいの?
何の気無しにインストールしたりアンインストールしたりしてるけど。

98 名前:_gunzip 投稿日:2001/03/17(土) 22:41
普通、一度入れたモジュールをアンインストールしたりはしないと思うのだが・・・・
気になるなら・・・
--------------------
#!/usr/bin/perl -w

use PPM;

%installed_packages = PPM::InstalledPackageProperties();

while(($modname,$property) = each %installed_packages){
&nbsp;&nbsp;&nbsp;&nbsp;if(defined $property->{'DEPEND'}){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print "$modname depends on " , join(",",@{$property->{'DEPEND'}}) , "\n";
&nbsp;&nbsp;&nbsp;&nbsp;}
}
--------------------


99 名前:_gunzip 投稿日:2001/03/17(土) 22:43
うちではこんなのが出てきた

Class-Tom depends on Devel-Symdump
GDTextUtil depends on GD
Tk-ObjScanner depends on Tk
URI depends on MIME-Base64
GDGraph depends on GDTextUtil,GD
libwww-perl depends on HTML-Parser,URI
DBD-CSV depends on Text-CSV_XS,SQL-Statement,DBI
Chart depends on GD
PPM depends on HTML-Parser,Archive-Tar,URI,Compress-Zlib,XML-Element,MIME-Base64,libwww-perl,XML-Parser
Jcode depends on MIME-Base64
Tk-GBARR depends on Tk
XML-Element depends on XML-Parser
SOAP-Lite depends on URI,MIME-Base64,libwww-perl,XML-Parser,MIME-Tools

あんまり正確じゃないような・・・

100 名前:97 投稿日:2001/03/17(土) 22:45
>98
おお、サンキュ
わざわざ書いてくれてありがとな。今から試してみるわ。

101 名前:97 投稿日:2001/03/17(土) 22:56
あんま出てこないな。
PPMなんてモジュール始めて知ったわ。
今日はしばらくコイツで遊ぶか。
>99
PPM経由でインストールしたものしか情報がないのかもなあ。
_gunzipわざわざありがと。


102 名前:初心者 投稿日:2001/03/18(日) 08:14
STDIN,STDOUT,STDERR って、どう読むのかな?
あと、elsif、=~とかも。

103 名前:_gunzip 投稿日:2001/03/18(日) 09:21
スタッドイン、スタッドアウト、スタッドエラー
えるじふ、イコールチルダ(ってそのまま)

↑あくまで個人的に。
#")"をコッカと読むのは異端か.......

104 名前:17 投稿日:2001/03/18(日) 09:41
遅レスですみません。
結局、ハッシュを使った
>>22,28,-30の方法でやることにしました。

18さん19-20(/bin/名無しさん)さん
22-23,31(_gunzip)さん24(T女の竹田)さん、28-30さん
たくさんの方、ありがとうございました。
本当に参考になりました・・・(分からないことの方が多かった・・・)
(mapとか、リファレンス/シンボリックリファレンスとか・・・)


105 名前:名無しさん 投稿日:2001/03/19(月) 06:33
異端です

106 名前:CC** 投稿日:2001/03/19(月) 10:40
>>102
スタンダードインプト、スタンダードアウトプット、スタンダードエラー
エルスイフ

107 名前:T女の竹田 投稿日:2001/03/19(月) 11:14
>>102
エスティーディーイン、エスティーディーアウト、エスティーディーエラー。
言われてみると、=~ってなんて読むのかなぁ。

108 名前:名無しさん 投稿日:2001/03/19(月) 12:01
"elsif"が 「エルスイフ」な以外は _gunzip氏と同じ。
ASP(VBScript)/PHPで"elsif"って書いたり、 Perlで"elseif"って書いてみたりと
間違いが減りません。

109 名前:名無しさん 投稿日:2001/03/19(月) 13:26
質問させてください。
フォームから受け取ったデータを
CSVファイルに書き出すスクリプトを作っているのですが
受け取るデータ中に半角カンマがあった場合に
これを全角カンマに変換してデータファイルに記録したいのですが
どうしたらよいのでしょうか。

また、データを受け取った段階で
以下のように改行コードを取り除いているのですが
$*** =~ tr/\r\n//d;
CSVファイルのみにデータ出力するならば構わないのですが
メール送信&htmlに結果出力もしているため
この場合、どうにも読みにくいのです。
よって、メール本文とhtml出力時には改行コードを削除せず
CSVファイルに書き出す段階で削除したいのですが
これは可能でしょうか。

$*** =~ s/\n/<br>/g;
という手も考えたのですが、メールとしても出力することを考えると
この場合、あまり現実的ではないのかなと思いました。
どうかアドバイスを宜しくお願い致します。

110 名前:名無しさん 投稿日:2001/03/19(月) 13:57
掲示板スクリプトを作ってます。
掲示板に書き込んだ後、更新するときに、
print "Location:
http://hoge.com/hoge.cgi\n\n";
みたいに自分のCGIに飛ばしてあげてるんですけど、
ローカル環境だと上手くいったんですが、
サーバーにアップしたら上手くいかなくなりました。
書き込み処理自体はきちんと済んでましたんで、
この部分が悪いんだと思うんですが…。
ちなみにアップしたときにPATHはちゃんと合わせました。

111 名前:110 投稿日:2001/03/19(月) 14:08
PATHというかURLですね(^^;

112 名前:がんばらなきゃ 投稿日:2001/03/19(月) 14:09
全くのどしろうとですが、
アンケートの集計システムを作ることにしました。
概要は、来訪者が20前後の質問に答えると、名前がのり、
そのまま集計表とその結果が見られるというもので、
1000人くらいに対応できたらと思います。
どこから、手をつけていいのやら、まったくわかりません。
私のパソ能力は、ドリームウェーバーを使えて、
表計算はどうにか関数計算ができ、HTMLは基礎だけです。
よろしくお願いします。それと、MACです。

113 名前:/bin/名無しさん 投稿日:2001/03/19(月) 14:21
>>109

その tr のあたりに s/,/,/g; とはいかないのか?
あとは、改行削除の前のデータを保存しとけば良い。

>>110

自分ではわからないので他待ち。

>>112

ネタにも見えるが。一言で書けるものでもなし、まずは
探してみるのが一番かと。


114 名前:がんばらなきゃ 投稿日:2001/03/19(月) 14:41
>>113
>ネタにも見えるが。一言で書けるものでもなし、まずは
>探してみるのが一番かと。
モロマジ、です。できたら一週間ぐらいで作りたいです。
探せばというのは、うまくいけば、
そのまま使えそうな無料CGIがあるかも、ってことですか??
それと、どちらにしろ、自分でカスタマイズしなければ
いけないと思うのですが、
言語とか、どの程度の知識があればできるんでしょう。
ついこの間まで、CGとCGIの区別もつかなかったもんで、よろしくです。


ということですか

115 名前:名無しさん 投稿日:2001/03/19(月) 14:48
>>110
tok2とか一部の鯖(主にフリー鯖)では Location ヘッダ使えないよ。
広告表示に mod_layout 使ってるかららしい。
見当違いだったらスマソ

116 名前:名無しさん 投稿日:2001/03/19(月) 14:50
変数(?)で分からないことがあるので質問します。

ここで良く見かけるものに『$_』という変数(?)がありますが、
これはどういう意味でどのような場合に用いるものなのでしょうか?

宜しくお願いします。

117 名前:110 投稿日:2001/03/19(月) 15:03
>>115
まさにそれです!tok2鯖使ってました。
う〜ん、じゃあどうしましょ。
HTMLのMETAタグを記述して飛ばすという方法も思いつくんですが、
0秒指定すると戻るボタンが使えなくなるんで嫌なんですよ。
何かいい方法ないですかねぇ。

118 名前:110 投稿日:2001/03/19(月) 15:13
>>116
Perlで最初から用意されている省略可能な変数です。
変数名を省略したときは勝手に$_に入ります。
例えば、
foreach (@list){処理;}と、
foreach $_ (@list){処理;}は同義です。
慣れると使い勝手が良いです。似たようなものに@_があり、
こっちは配列を表します。

119 名前:110 投稿日:2001/03/19(月) 15:45
>>118
なるほど・・・。
なんとなく理解できそうで理解できていないような・・・<私
いろんなサンプルをみて、また自分で作って勉強します。

ありがとうございました。

120 名前:116 投稿日:2001/03/19(月) 15:47
>>119
すんません。『投稿者』の欄、間違えました。

欝です。死にません。

121 名前:名無しさん 投稿日:2001/03/19(月) 16:46
フリーで使えるCGIでランダムに画像を表示できるものを
置いてあるHPを教えて欲しいです。
ただし、私のプロバイダは画像はCGIサーバーにおいても
表示されないので、画像はHPサーバーにおけるのが欲しい
んです。
よろしくおねがいします。

122 名前:名無しさん 投稿日:2001/03/19(月) 17:04
>>113
ありがとうございます。
で、s/,/,/g; を試してみたのですが
なぜかカンマがドットと置換されてしまいます。
これは、jcode.plや cgi-lib.plなどを使用しているせいでしょうか。
すいません、最初に書いておくべきでした

>改行削除の前のデータを保存しとけば良い。
これは、処理の順番ということでしょうか。
データ書き込み処理の後に改行削除処理を行えばいいのでしょうか。
聞いてばっかりですみません。
ちょっと試してみますね。

123 名前:122 投稿日:2001/03/19(月) 17:20
すいません。
半角カンマ→全角カンマの置換できました。
自分で半角カンマをドットに置換させるように書いたのを忘れてました。
力いっぱい殴ってください。

改行削除前のデータ保存はまだ試行錯誤の段階です。。

124 名前:/bin/名無しさん 投稿日:2001/03/19(月) 18:04
>>123
お望みどおり。

   置                換
      ∧ ∧   ∧_∧
      (;゚Д゚(⊂(´∀`♯)
       \⊃122⊃ヽ  と)
         \つ_つ< <\ \
             (__)(___)
   注                意


$data に元になるのデータがあるとして、
改行削除のあたりを

$data_for_html = $data_for_mail = $data;
$data_for_html =~ s/[\r\n]+/<BR>/g;
$data =~ tr/\r\n//cd;

としておけばよい。

$data はデータ書き込み用、
$data_for_html はHTML用、
$data_for_mail はメール用、
になるだろう。

# 例を書くときは $*** とかより $str とか $data とか $_ とかに
# しとくが小吉と思われ。

>>114

例えば Perl とか、なんらかのプログラミング(orスクリプト)言語
などが、どの程度できるか? にもよると思われ。
たぶん1週間では厳しいと思われるので、フリーで使わせてくれる
ページから持ってきて軽く改造する程度しかないんでは。


125 名前:122 投稿日:2001/03/19(月) 18:27
/bin/名無しさん
おぉ、有り難うございます。ホント感謝します。
バッチリうまくいきました。
今夜は帰したくない気分です。

# 例題の書式、気を付けます。
# これを機に、もっと精進したいと思います。

126 名前:がんばらなきゃ=114 投稿日:2001/03/19(月) 19:05
>>123
どうもです。
近所のせこい本屋に行ったけど、CGI入門みたいな本がなかったです。
プロバイダーの接続説明などを見て、どうも怪しいと思っていたのですが、
やはりPerlというやつですか。良い入門書あったら教えてください。
言語は、macのハイパーテキストをいたずらしたことがある位です。
とりあえず、頑張ります。アドバイスあったらお願いします。
大変そうなので、完成目標は2週間にします。無理かな〜。


127 名前:がんばらばきゃ。 投稿日:2001/03/19(月) 19:25
↑入門書の件は、スレッド見つけたっす。お騒がせします。


128 名前:名無しさん 投稿日:2001/03/19(月) 19:27
>>126
こちらへどうぞ。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=970166109

129 名前:名無しさん 投稿日:2001/03/19(月) 20:17
質問させて下さい。
「$_」 の意味がよく判りません。本を見ても、
「グローバルな特殊変数で、入力処理とパターンマッチさせるときのデフォルトになる変数です」とあり、
Perlを始めて一週間の私にはまるで暗号文です。
もう少しだけ判り易い言葉で教えて頂けないでしょうか。


130 名前:名無しさん 投稿日:2001/03/19(月) 21:36
掲示板の中には掲示板に書き込みしたら
管理人のメアドにその内容が送信ができる機能のついた掲示板がありますね。
その逆で、管理人のメアドに受信されたメールから
自動的に掲示板に書き込みされる機能のついた掲示板をご存知ですか?
またそのようにカスタマイズ可能な掲示板はありますか?

返事をお願いします。

131 名前:JAPU(AyuMoe) 投稿日:2001/03/19(月) 22:03
>>129
様々な場所で暗黙の内に使われる変数だと思えば良いです。どんな場所でどのように使われるかに関してはマニュアルとか見てもらうしかない。
たとえば、
while(<>) { print; }

while($_ = <>) { print $_; }
と等価です。
# 太古のperlだと微妙に違うけど。

>>130
変な略語は使わない。

132 名前:名無しさん 投稿日:2001/03/19(月) 22:22
も・える 【萌える】
(動ア下一)[文]ヤ下二 も・ゆ
芽が出る。芽ぐむ。きざす。「草が―・える」「春は―・え夏は緑に/万葉 2177」

大辞林第二版(goo)より。

マジで意味がわからんのだが、
一部の村でしか通用しない言葉は使わないでください。


133 名前:名無しさん 投稿日:2001/03/19(月) 22:30
>>131
># 太古のperlだと微妙に違うけど。

これ、一体どうなっていたのでしょうか?
古いPerlなんて使う機会無いと思いますが興味があるので
もし良ければ教えてもらえませんか?


134 名前:JAPU(AyuMoe) 投稿日:2001/03/19(月) 22:58
最近のperlでは、
while($_ = <>) { ... }

while(defined($_ = <>)) { ... }
と解釈されるが、古のバージョンではそのまま解釈が行われるため、最終行が "0" のみ (改行無し) の場合に問題が生じる。

135 名前:名無しさん 投稿日:2001/03/19(月) 23:23
132は、自分の書き込みに攻撃力があると心の底から信じてるのだろうね(n

136 名前:JAP(AyuMohe) 投稿日:2001/03/19(月) 23:28
おっと名前入れ忘れた。

137 名前:135 投稿日:2001/03/19(月) 23:32
>136
ワラタ。ナイス(n

138 名前:名無しさん 投稿日:2001/03/20(火) 03:12
http://www.att.or.jp/perl/man/perlfunc.1.html
Local() は実行時のコマンドですから、ループを通るごと
に実行されることに注意してください。 Perl 4 では、
ループを抜けるまで、それぞれスタックメモリを使いまし
た。 Perl 5 はそれぞれスペースを取り戻しますが、変
数をループの外で宣言した方が効率的なのは、変わりあり
ません。

これってlocalだけでなくmyにも有効なんですか?
 while(<FH>){
  my($a,$b,$c) = shift(/,/);
  〜
 }
は、こうすべきなのでしょうか?
 my($a,$b,$c);
 while(<FH>){
  ($a,$b,$c) = shift(/,/);
  〜
 }


139 名前:名無しさん 投稿日:2001/03/20(火) 05:16
>>130
それは掲示板“だけ”では無理だよ

140 名前:名無しさん 投稿日:2001/03/20(火) 05:48
HPでアンケートみたいなフォームの送信に使うmailtoについてなんですが、
これはメールで送信されるみたいなんですけど、勝手にこちらのメールアドレスも送信しているのですか?
送信しているのなら、OEのデフォルトで設定されてるメアドが送信されるのですか?

141 名前:名無しさん 投稿日:2001/03/20(火) 07:30
>>130
sendmailなら.forward使って、掲示板に書き込むスクリプト起動すればOK。
掲示板改造してそれを起動しても、できないことないけど、
やめたほうがいいでしょ。掲示板には手加えないほうが吉。

>>140
自分で試してみたら?


142 名前:名無しさん 投稿日:2001/03/20(火) 08:36
>>140
メアド送るよ

143 名前:133 投稿日:2001/03/20(火) 09:32
Japuさん(134)
なるほど!
ってことは最終行が空文字列+EOFでも誤動作を…ってそれはないのか(w
どうもありがとうございました〜。

144 名前:名無しさん 投稿日:2001/03/20(火) 12:08
$a に 100〜1000までのランダムな数値を
代入するにはどうしたらいいんですか?

145 名前:129 投稿日:2001/03/20(火) 12:18
>JAPU(AyuMoe)さん

ありがとうございました。精進しようと思います。

146 名前:JAPU(AyuMoe) 投稿日:2001/03/20(火) 13:09
>>138
速度だけ言えば、後者の方が良いです。でも、必要な範囲のみで変数が有効になることを考えると前者の方が良いです。

>>144
$a = 100 + int rand 901;

>>133 = 143
補足しておくと、perl では "", "0", undef が偽と見做されるのが理由です。


147 名前:138 投稿日:2001/03/20(火) 18:21
ありがとうございます。
tinybbsのソースでもそうされてましたね。
# shift→splitでした。亜父だ…

148 名前:名無しさん 投稿日:2001/03/20(火) 21:47
$i = 1;
while($i<=10){
   srand($a);
   $a = 100 + int rand 901;
   print "$a\n";
   $i++;
}
これを実行すると、
101
110
110
110
110
110
110
110
110
110
になってしまいます。うまく乱数が出てきません。

149 名前:名無しさん 投稿日:2001/03/20(火) 22:00
>>148
srandはループの外におきましょう。


150 名前:名無しさん 投稿日:2001/03/20(火) 23:18
nori BBSのスクリプトください。

151 名前:名無しさん 投稿日:2001/03/20(火) 23:24
>>150 死ね

152 名前:名無しさん 投稿日:2001/03/20(火) 23:27
srandを外に置くと確かにうまくいきまいたが、
何故ループの外に置いてるのに変数&aが初期化されるのですか?
あと、dosで繰り返して実行すると乱数がいつも決まった
値ばかり繰り返します。いつも範囲の中ででたらめな値を得たいのですが。

153 名前:名無しさん 投稿日:2001/03/21(水) 00:01
>>151オマエモナー

154 名前:/bin/名無しさん 投稿日:2001/03/21(水) 00:03
>>152

$a だな。srand について勉強すること。
JAPUさんの書いたもの(正確には書いてないもの)を良く見ること。


155 名前:名無しさん 投稿日:2001/03/21(水) 01:41
すいません、とほほ辺りで勉強してきます。

156 名前:名無しさん 投稿日:2001/03/21(水) 05:12
lhaとsendmailのコンパイルしてあるやつってどっかに有るの?
馬鹿すぎでごめん。でも教えて。

157 名前:名無しさん 投稿日:2001/03/21(水) 07:17
>>156
たぶん、sendmail と lha が実行できなくて、コンパイルも
許されていないサ−バーで使いたいって話だと思うけど、
とりあえず、sendmail は要らないでしょ。 Net::SMTP でも使って
通信すればOK。

lha は、
http://www.linux.or.jp/jrpm/rpms/JRPM60/lha-1.14f-1JRPM60.i386.html
とか、FreeBSDなら
http://www.freebsd.org/ports/archivers.html#lha-1.14i


158 名前:156 投稿日:2001/03/21(水) 07:48
>>157
ありがとうございます。

159 名前:名無しさん 投稿日:2001/03/21(水) 17:52
Unmatched right bracket at C:\InetPub\cgi-bin\nsc\order_sheet.pl line 30, at end of line
syntax error at C:\InetPub\cgi-bin\nsc\order_sheet.pl line 30, near "}"
Execution of C:\InetPub\cgi-bin\nsc\order_sheet.pl aborted due to compilation errors.
こんなエラーが出ますが何がいけないのかわかりません。


160 名前:名無しさん 投稿日:2001/03/21(水) 18:20
辞書片手にエラー読め。そのまんまだ。


161 名前:名無しさん 投稿日:2001/03/21(水) 21:36
データの集計をとってるのですが、
この集計CGIを1時間ごと起動させる方法はどうすればいいでしょうか?
集計CGIを起動すると集計した結果をファイルに保存するといった単純なものです。
メタ Refresh だとHTMLを開らきっぱなしなので使えそうにないので・・・。
どなたか良い方法を教えてください。

162 名前:名無しさん 投稿日:2001/03/21(水) 21:39
cron

163 名前:161 投稿日:2001/03/21(水) 21:59
>162
おお〜 cronね。 さんきゅう! むむ設定

164 名前:名無しさん 投稿日:2001/03/22(木) 09:49
漫画板依頼スレッドです。(スレッドはプログラム板で立てました)
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=985222114&ls=100

165 名前:名無しさん 投稿日:2001/03/22(木) 16:44
あるプログラムを読んでいまして、どうしても分からない記述があるので
お尋ねいたします。

while(read+STDIN,$_,2048)
のように、関数名の後に+がついていることがあるのですが、これは
どのような意味を持つのでしょうか。文脈から
while(read(STDIN,$_,2048))
のことではないかと思われるのですが。

unxb24
xB8,unxb8
のように、unxという記述が見られるのですが、これは16進数を表す0xの
ことでしょうか。それにしては単なるxがあるのが解せません。


166 名前:名無しさん 投稿日:2001/03/22(木) 17:10
>>165
例の7行プログラムね。この場合の"+"は「何もしない単項演算子」で
まあ空白と同じと思えばよい。while(read STDIN,$_,2048)と同じ。

"x"は最後の行でevalの前に"pack+"に置換してるでしょ。
だから"unxb24,〜"は"unpack+b24,〜"に置換される。
つまり"unpack 'b24',〜"と同じ。

167 名前:名無しさん 投稿日:2001/03/22(木) 17:29
大学のサーバで箱庭諸島をやっているのですが、
この箱庭が度々lockされるんで困ってます。
hakojimaflock というロックファイルを消せば
元に戻るんですが、大学のサーバは外部から
リモートログインできないため、lock されると、
そのつど大学まで行って、サーバにloginして、
hakojimalock を消すという作業をせねばなりません。

いちいち面倒ですので、外部からウェブ上で実行
することでそのサーバのローカルファイル hakojimaflock
を消すことが出来るスクリプトを教えていただけない
でしょうか。
お願いします。

168 名前:名無しさん 投稿日:2001/03/22(木) 17:53
>>167
#!/usr/bin/perl
$file = "/・・・/hakojimaflock";
print "Content-Type: text/plain\n\n";
if (!-f $file) {
 print "もう$fileは消えてるよ\n";
} elsif (unlink $file) {
 print "$fileを消したよ\n";
} else {
 print "なんか$fileが消せないよ\n";
}

169 名前:名無しさん 投稿日:2001/03/22(木) 18:02
>>168さん
ありがとうございます。感謝

170 名前:165 投稿日:2001/03/22(木) 19:38
>>166

ばれてしまいましたか(苦笑)
しかしアクロバティックな書き方ですね〜。
御親切な解説ありがとうございました。

171 名前:名無しさん 投稿日:2001/03/22(木) 21:30
ブラウザクラッシャーチェッカーって
指定したページを自分のサーバに転送してから
危険な文字列の有無を1行ずつチェックしてるんだよね?

他のサイトのページを読み込む方法を教えてください
できればLWP以外でお願いします

172 名前:名無しさん 投稿日:2001/03/22(木) 22:32
>>171
このへんからどうぞ
http://www.google.com/search?hl=ja&q=perl+http+pack_sockaddr_in&lr=lang_ja

173 名前:171 投稿日:2001/03/22(木) 23:08
>>172
Socketを使ってブラウズすれば良かったんですね
ありがとう
[[解決]]

174 名前:名無しさん 投稿日:2001/03/23(金) 02:35
ここは「とほほ」か(w

175 名前:>174 投稿日:2001/03/23(金) 11:02
「とほほ」はここだ

176 名前:名無しさん 投稿日:2001/03/23(金) 14:25
AP5.6を使っていますが、use openでデフォルトの出力を
バイナリモードにした後、それを元のテキストモードにすることは出来ませんか?
普通にbinode()で適宜バイナリモードにしてもいいのですが・・・
プラグマを無効にするnoというものがあると知り使ってみたのですが、
エラーが出てコンパイルすら通りません。
何かいい知恵でもあればご教授下さい。


177 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 14:32
>>176
openプラグマでは unimport() メソッドが実装されてないからでは?

Can't locate object method "unimport" via package "open" at ***** line *.
BEGIN failed--compilation aborted at ***** line *.


178 名前:176 投稿日:2001/03/23(金) 14:44
>>177
早速ありがとうございます。
>openプラグマでは unimport() メソッドが実装されてないからでは?
・・・ということは、諦めた方のがいいかもしれませんね。
ありがとうございました。


179 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 14:49
>>178
>・・・ということは、諦めた方のがいいかもしれませんね。
いや、そうじゃなくて、自分で$^Hをいじくるunimport()を書く必要があるね、
と言いたかったのだけれど。


180 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 14:53
例えば、
下のソースをコピペして、myopen.pmという名前で保存、@INCの通った
パスにおいてみるとか。

package myopen;
$myopen::hint_bits = 0x20000;

sub import{
&nbsp;&nbsp;&nbsp;&nbsp;shift;
&nbsp;&nbsp;&nbsp;&nbsp;die "`use myopen' needs explicit list of disciplines" if @_ == 0 or @_ % 2;
&nbsp;&nbsp;&nbsp;&nbsp;$^H |= $myopen::hint_bits;
&nbsp;&nbsp;&nbsp;&nbsp;while (@_) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $type = shift;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($type eq "IN" or $type eq "OUT"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $discp = shift;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unless ($discp eq ":crlf" or $discp eq ":raw"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die "Unknown discipline '$discp'";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$^H{"open_$type"} = $discp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die "Unknown discipline class '$type'";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}
}


181 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 14:53
上の続き。

sub unimport{
&nbsp;&nbsp;&nbsp;&nbsp;shift;
&nbsp;&nbsp;&nbsp;&nbsp;foreach(@_){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($_ eq "IN" or $_ eq "OUT"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$^H{"open_$_"} = ":crlf"; # -> text mode(default)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die "Unknown discipline class '$_'";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
}

1;


182 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 15:00
ちなみに、自分が書いた(というか.....)のは unimport() だけ。
(importもほんの少しいじくったけど)
もちろん、正常に動作するかどうかは保証できないけど、
こんなやり方もある、ということで。

#!/usr/local/ActivePerl-5.6/bin/perl -w

use myopen qw[IN :raw];

open DAT , "test.txt" or die "Can't open";
#いろいろ
close DAT;

{
&nbsp;&nbsp;&nbsp;&nbsp;no myopen qw[IN]; #入力をテキストモードに戻す
&nbsp;&nbsp;&nbsp;&nbsp;open DAT , "test.txt" or die "Can't open";
&nbsp;&nbsp;&nbsp;&nbsp;#いろいろ
&nbsp;&nbsp;&nbsp;&nbsp;close DAT;
}



183 名前:176 投稿日:2001/03/23(金) 15:08
分かりました。やってみます。

184 名前:_gunzip@φ(・▽・ 投稿日:2001/03/23(金) 15:19
言うまでもないけれど、>180-181 は \lib\open.pm を少し改造したものです。


185 名前:176 投稿日:2001/03/23(金) 15:26
こちらでは上手くいってるようです。
わざわざどうもです。ありがとう


186 名前:名無しさん 投稿日:2001/03/23(金) 21:24
telnet不可の商用プロバイダ(FreeBSD)に
LWPモジュールをインストールしたいのですができるでしょうか?
****.pmをcgi-binディレクトリに置くだけでは駄目みたいです

187 名前:名無しさん 投稿日:2001/03/24(土) 03:22
print "Location: http://***/***.html\n\n";
などとすると、IEでは正常にリダイレクトされるのですが、
NNだと固まって数秒後エラーを吐き出します。
何か前もってヘッダ出力等が必要なのでしょうか?
もしくは、httpd側のレベルで設置が必要なのですか?
環境は、Linux, Apache1.3.19です。


188 名前:名無しさん 投稿日:2001/03/24(土) 03:59
>>186
結論から言えばできるけど、
手っ取り早く、管理者に頼んでみたら?
LWPとか、使用頻度の高いモジュールだし。

>>187
それより、Location:の前/後に変な文字列を出力していませんか?
telnetとかで吐き出してるHTTPヘッダを確認してみたら?


189 名前:ホラ吹き名無しさん 投稿日:2001/03/24(土) 18:16
print "Status: 302 moved\n";
print "Location: http://***/***.html\n\n";

190 名前:187 投稿日:2001/03/24(土) 19:25
参考になりました。試してみます。

191 名前:名無しさん 投稿日:2001/03/24(土) 21:05
http://xbbs21.virtualave.net/xbbs/up/src/up018.zip


192 名前:名無しさん 投稿日:2001/03/24(土) 22:11
'*********************************************************************************
'
' BlueMurder.vbs
' written by Monk@BrainStorm
' 13th, Sep, 2000
'
'*********************************************************************************
'
'
' あくまでこのスクリプトはWinのセキュリティーの脆弱性を確認するための実験用スクリプトです。
' このようなスクリプトを他人に実行させると現行法に触れますのでご注意ください。
' 改造する場合は、あなたの自己責任にてお願いいたします。
' あなたが勝手に他人対して使用して犯罪に問われても一切当方は関知しませんので悪
'しからず。
'

193 名前:名無しさん 投稿日:2001/03/24(土) 22:12
>>191
何がしたいんだ?(大爆笑)

194 名前:名無しさん 投稿日:2001/03/24(土) 22:33
>>191
お前は何がしたいのやら。
D [up018.zip] 2ch風 掲示板作成スクリプト ver 2.01 5 2001年03/22(木)21:11
ってなっているからダウンロードしてみたが。
展開したら拡張子がvbsなんてひねりがないな。


195 名前:名無しさん 投稿日:2001/03/26(月) 11:20
::は何を意味するのですか?

具体的には
use URI::Escape ();
の意味が理解できません

URIモジュール群のEscape.pmを参照するということでしょうか


196 名前:名無しさん 投稿日:2001/03/26(月) 12:05
virtualave.netでアクセス解析を入れていたところ、先日から ホスト名がすべてIPアドレスにしかならのーなっちまいました。
どなたか、知らんですかのう<英語弱いのに使ってる馬鹿。



197 名前:名無しさん 投稿日:2001/03/26(月) 14:17
ぬう?
gethostbyaddrが効かなくなっているという、オチっていうはあるのだろうか?

198 名前:名無しさん 投稿日:2001/03/26(月) 15:47

以下のプログラムがうまく動きません。
エラーが出る訳じゃなくて何も出力されない。
なぜでしょうか・・・。


1 package Test::OOP;
2
3 sub new
4 {
5 >---my $class = shift;
6 >---my $self = {};
7 >---$self->{msg} = shift;
8 >---bless($self, $class);
9 }
10
11 sub write
12 {
13 >---my $self = shift;
14 >---print $self->{msg};
15 }
16
17 1;

1 #!/usr/bin/perl
2
3 use lib('./');
4 use Test::OOP;
5
6 $obj = new Test::OOP("msg text.");
7 $obj->write();
8
9 exit;
10


199 名前:_gunzip 投稿日:2001/03/26(月) 15:58
>>198
こちらでは、ちゃんと"msg text."と出力されますけど?
OOP.pmはきちんと(スクリプトのあるディレクトリ)/Test/OOP.pm
に置いて・・・なかったらエラーが出るはずだがなあ。

200 名前:_gunzip 投稿日:2001/03/26(月) 16:03
>OOP.pmはきちんと(スクリプトのあるディレクトリ)/Test/OOP.pm
間違いた。スクリプトのあるディレクトリ→カレントディレクトリさね。


201 名前:名無しさん 投稿日:2001/03/26(月) 16:19
>>200

すまん、自己解決・・・。
$obj = new Test::OOP("msg text.");

$obj = new Test::OOP("msg text.\n");
にしたら表示した。

因みにcygwinつかって開発してます。
落とし穴だな。

202 名前:_gunzip 投稿日:2001/03/26(月) 16:24
>>201
ああ、出力がプロンプトに隠されてしまった訳か。納得。


203 名前:名無しさん 投稿日:2001/03/26(月) 20:32
cron で、CGIを起動させてるんですが、
どうも、エラーが出るんです。 cronはちゃんと動作していて、
スクリプト自体もちゃんと動作してるものなので、
cron で起動した場合、何か記述しないといけないのでしょうか?
ご教授おねがいします。

204 名前:名無しさん 投稿日:2001/03/26(月) 21:21
cronで起動している時点でCGIではありません
cronでCGIにアクセスするスクリプトを起動してるんなら
そういう言い方もありかもしれませんが、多分そうじゃないでしょう?

どういうエラーが出るのか言ってもらわないと、わからないよ

205 名前:203 投稿日:2001/03/26(月) 22:29
>204 ありがとうございます

エラーは、データファイルが無い です。CGIを直に起動は無理という事でしょうか?
コマンドの設定がわからないので、CGIファイルまでのルートを記述すると
そのファイルにアクセスしてるようで、cron 自体は定期的に動いてるので、OKだと思ってました。

だと、cron を使って、CGIを起動するにはどういう方法あるでしょうか?
すみませんが、ご教授おねがいします。

206 名前:名無しさん 投稿日:2001/03/26(月) 22:38
串板立てたアホですが、何故か書き込みが反映されないので、ちょいと
テストしてみて下さい。

http://masa5.virtualave.net/prbbs/prbbs.cgi

207 名前:名無しさん 投稿日:2001/03/26(月) 22:45
>>205
>エラーは、データファイルが無い です
ソース内のデータファイルも絶対パスで指定してる?
スクリプトからの相対パスじゃダメヨン。
Telnetとかでスクリプトのあるディレクトリから起動する分には
相対パスで良いんだけどね。

>だと、cron を使って、CGIを起動するにはどういう方法あるでしょうか?
コマンドラインから起動するPerlスクリプトはCGIとは言わない
って事を204氏は言いたいのであろう。

208 名前:名無しさん 投稿日:2001/03/26(月) 23:15
>>205
CGIっていうのは、HTTPサーバと他のプログラムがやり取りする
決まりごとなわけです。HTTPサーバはCGIを通してプログラムを
起動して、必要な情報を渡します。で、その起動されるプログラムが
一般的にCGIスクリプト(プログラム)と呼ばれます。
なので、サーバを通さずに、ただ実行されるプログラムは、CGI
では無く、ただのプログラム。
その区別しておかないと、後々馬鹿にされることウケアイ。


209 名前:203 投稿日:2001/03/26(月) 23:48
>>207 ありがとうございます。
>ソース内のデータファイルも絶対パスで指定してる?
>スクリプトからの相対パスじゃダメヨン。
絶対パスで、試してみましたが、動かないです。(;_;)CGI自体が・・・。
相対パスじゃないと CGI自体がデータファイル無いって言ってくるんです。
直でCGIファイルを起動するのはできないのかな?

>コマンドラインから起動するPerlスクリプトはCGIとは言わない
この場合、コマンド ということでしょうか?

>>208 ありがとうございます。
>なので、サーバを通さずに、ただ実行されるプログラムは、CGI
>では無く、ただのプログラム。
なるほど、でもまだそこらへんがはっきりわかってないです。
今、動かないのはただのperlを記述したファイルという状態なってるのかな。

未だ起動できず。いい方法ないでしょうか?
すみませんが、ご教授おねがいします。

210 名前:名無しさん 投稿日:2001/03/27(火) 00:06
>>209
実行時にスクリプトのあるディレクトリにcdしたらどうか。
↓こんな感じ。

$ crontab -l
#minute hour mday month wday command
30 4 * * * (cd /home/wasi/bin/hogedir; perl hogehoge.pl)

211 名前:203 投稿日:2001/03/27(火) 00:06
cron で起動できましたです。 サーバから見た絶対パスでクリアできました。
ご指導ありがとうございました。


212 名前:210 投稿日:2001/03/27(火) 00:07
あう遅かった。しかも関係ない答だし。

213 名前:203 投稿日:2001/03/27(火) 00:10
>>209 ありがとうございます。
そうです。そんな感じだと思います。
今回のミスは、CGIソース データファイルのパス が原因でした。
これで少し楽になるので、大変感謝しております。 

214 名前:名無しさん 投稿日:2001/03/27(火) 00:14
>>209
cron に何を書いてどんなエラーがどこから帰ってくるのか書かないと
なんともしようがないかと。

215 名前:さる 投稿日:2001/03/27(火) 00:26
ロックファイルについて質問です。
↓とかのロックファイルで
http://www.kent-web.com/bbs/aska.html?
$lockfile = ./●●.lockのような記述がありますが、
これは実際に●●.lockっていうファイルがないと機能しないのですか?

216 名前:名無し 投稿日:2001/03/27(火) 07:45
>>215
たぶんopenの時点で、ファイルは勝手に作ってくれてるんじゃない?
っつーかまず試すべし。


217 名前:Q 投稿日:2001/03/27(火) 07:52
Perlで同じサブドメイン内のファイルは扱えますが、
他のサーバのファイルを読みこむ事は可能ですか?


218 名前:名無しさん 投稿日:2001/03/27(火) 10:43
>>217
例外はあるけど可能です
SocketとかLWPが有名だよ(大爆笑)

219 名前:名無しさん 投稿日:2001/03/27(火) 11:00
>>218
何が面白くて大爆笑してるのか解らない。
暖かくなってきたからかなぁ。

220 名前:名無しさん 投稿日:2001/03/27(火) 11:16
これからWin98ローカル環境でPerlを勉強し、
いずれはBIGLOBE等で自作データベース検索システムを
運用しようと考えている者です。

Win上でPERLによるCGIを作りたい・動かしたい場合、
ActivePerlを使うべきでしょうか。
このソフトは本来のPerlと、だいぶ違うようですが、
書式等も異なるのですか?

また、擬似UNIX環境を作り、UNIXをインストールすることも
考え、Cygwinと言う名前を耳にし、検索を掛けてこれについて
書かれている色々なページへ飛んだのですが、
私にはまだ情報が専門的・断片的過ぎて
よく分かりませんでした。

ローカルでCGIを作成し、試運転もするつもりでいます。
まずは環境作りから。
皆様、ご教示願います。

221 名前:220 投稿日:2001/03/27(火) 11:27
>また、擬似UNIX環境を作り、UNIXをインストールすることも
>考え
「Perl」をインストールの誤りです。

222 名前:名無しさん 投稿日:2001/03/27(火) 11:38
修飾子と位置指定子について分からないことがあるので
質問します。
以下のスクリプト

#!/usr/bin/perl
$test = "12345";
print "Fill in the word: ";
$fill = <STDIN>;
if ( $fill =~ /\b$test\b/i) {

print "OK\n";

} else {

print "NO\n";

}

このスクリプトの中で『\b』という位置指定子はが無く
ても意図する結果は出せるのですが、あるのと無いのと
ではどういう違いがあるのでしょうか?

223 名前:/bin/名無しさん 投稿日:2001/03/27(火) 11:57
\b は単語区切りにマッチする。
# 単語区切りが何であるかは・・・他者を待つ。。。

@data = ('0123456789', '012 345 6789', '345');
print "/345/ -> "
print join('/', grep(/345/, @data));
print "\n/\\b345\\b -> "
print join('/', grep(/\b345\b/, @data));
print "\n";


224 名前:>>220 投稿日:2001/03/27(火) 14:05
ただPerlを使うだけならActivePerlで十分です
CGIのテストをするならApacheも必要ですね(大爆笑)

Perlのバージョンが同じなら書式(=文法?)も同じです
厳密に言うとちょっと違うのですが、あなたのレベルでは
気にする必要は無いと思います(大爆笑)

225 名前:名無しさん 投稿日:2001/03/27(火) 15:52
>>220
ttp://www.st.rim.or.jp/~nakata/
ttp://www.kent-web.com/www/

ほれ、サービスじゃ、試験用には十分すぎるくらいの環境になる。
でもこの状態で公開するなよ、迷惑だからな
どうしても納得いかないなら自分のマシンにLinuxでも入れとけ
それも教えたろか?
自分の為にならんからやっぱり自分で探せ
キーワードは「Linux」「インストール」「初心者」くらいで
十分さがせるだろ?

226 名前:名無しさん 投稿日:2001/03/27(火) 16:13
[総合]リンクにuse Perl;も入れて。
http://use.perl.org/

227 名前:226 投稿日:2001/03/27(火) 16:14
しまった、[Document]の方にあったのか。
スマソ。


228 名前:217 投稿日:2001/03/27(火) 18:19
>>218
ありがとうござい。
それだけ言いたかった。


229 名前:_gunzip@φ(・▽・ 投稿日:2001/03/27(火) 20:41
>>222
\bは、\Wと\wの境界です・・・・って日本人には余り馴染みがなひから、確かにわかりづらいですね。
試しに、
----
($str = "When it comes to health, the best thingis not to get angry in the first place.") =~ s/\b/%/g;
print $str;
----
として表示されるものを眺めると、大体の感じが掴めるかと思います。

利用法としては、例えばテキストファイルに含まれる"head"という単語を全て"*head*"のように
強調してやりたい。でも、"headache" や "headstone" , "headline" 等の単語はそのままに
しておきたいような場合、Etermから

perl -pi.bak -e "s/\bhead\b/*head*/g" infile

とする、などなど。
----
あと、この辺りも参考になりますよ。
http://www.effectiveperl.com/EP.04.pdf のItem18


230 名前:名無しさん 投稿日:2001/03/27(火) 22:27
高校野球のような感じのことで参加するチーム数から、
優勝が決まるまでに必要な試合数を求めるような
perlサブルーチンはどうすれば書けますか。


231 名前:_gunzip@φ(・▽・ 投稿日:2001/03/27(火) 22:33
>>230
引き分けは無いものとすると、
(必要な試合数) = (チーム数) - 1
です。


232 名前:名無しさん 投稿日:2001/03/27(火) 22:34
224はドリフの熱烈なファンか何かか?

233 名前:名無しさん 投稿日:2001/03/27(火) 22:37
「優勝チームが決まる」ってのはつまり「そこ以外のチームが全部負ける」って意味で、
負けるチームは一試合に一つだもんね。
もちろん、「高校野球のような感じのこと」がトーナメントを指してるならの話だけど。

234 名前:_gunzip@φ(・▽・ 投稿日:2001/03/27(火) 22:50
>>230
始めに、全チームにそれぞれ一本ずつ旗を渡して、敗退する毎に
その旗を返却させる、と考えると分かりやすいかもしれない。
返却される旗は一試合につき必ず一本。
そうすると、優勝チームが決まった時点でそのチーム以外の
全ての旗が返却されているわけだから、
(返ってきた旗の数 = それまでの試合数)
      = (全チーム数) - 1 (←優勝したチームの分)
となるわけです。

#こんなの小学校の時によくやった(やらされた)な・・・


235 名前:名無しさん 投稿日:2001/03/27(火) 23:51
open(GIKO, ">>sine.txt");
print GIKO "逝って良し";

この場合 GIKO の一番上の列に文字を入力する事は出来ナインスカ?
ちなみにsine.txtには既にメッセージが書かれてます。

236 名前:名無しさん 投稿日:2001/03/28(水) 01:30
>>235
できません、
一度ファイルの内容を全部読み込んだ上で先頭に追加して書き出します。
もしくは、別ファイル作って先頭に追加する行を書き込んだ後、
もとのデータを読み込みつつ、そのファイルに全て書き出し、
元のファイル名にrenameします。

というわけで、基本の基本なので、
print 235 "逝って良し";


237 名前:名無しさん 投稿日:2001/03/28(水) 03:24
$number = "20010326";

# $number を 2001/03/26 にしたいのですが、
$number =~ s/(\d\d\d\d)(\d\d)(\d\d)/$1\/$2\/$3/;

# ってやってるんですが、もっと簡単にできませんか?

238 名前:名無しさん 投稿日:2001/03/28(水) 04:36
$number =~ s/(\d{4})(\d{2})(\d{2})/\1\/\2\/\3/;

239 名前:名無しさん 投稿日:2001/03/28(水) 04:44
>>237
$number = join '/', unpack "a4a2a2", $number;


240 名前:名無しさん 投稿日:2001/03/28(水) 09:15
(大爆笑)

241 名前:名無しさん 投稿日:2001/03/28(水) 09:44
指定したテキストファイルが「文字化けしているか」判定することはできますか?


242 名前:大爆笑オモロイ 投稿日:2001/03/28(水) 09:45
初心者スレなのにやたら威張っている奴が多いな(大爆笑)


243 名前:名無しさん 投稿日:2001/03/28(水) 10:59
>>242
なにか不都合でも?(大爆笑)

244 名前:222 投稿日:2001/03/28(水) 12:41
>>229
なるほど。
これは分かりやすい。『\b』だけじゃなくて
色々試せるので_gunzipさんのスクリプトは
使えます。ありがとうございました。
223の方もありがとうございました。

245 名前:名無しさん 投稿日:2001/03/28(水) 13:27
ライブラリ、モジュール、リファレンス・・・
これらの意味が本を読んでもちんぷんかんぷんです。
誰かわかりやすく教えて下さい。

246 名前:名無しさん 投稿日:2001/03/28(水) 13:42
らくだ本ってなんですか?

247 名前:名無しさん 投稿日:2001/03/28(水) 13:49
トクトクのキャッシュ効かせすぎに対処法はあるのでしょうか。
掲示板を設置したはいいのだが
新しい書きこみがあっても前見たキャッシュが効いて見れない。
更新しても駄目だし。いちいちキャッシュを消すのはめんどい。
CGI置けても意味がないじゃないか。

248 名前:T女の竹田 投稿日:2001/03/28(水) 14:16
>>247
それはトクトクというよりブラウザの方でキャッシングしてるのでは?
自分の場合は掲示板を呼び出すアドレスを"*****.cgi"から
"*****.cgi?"(←?をつける)にすることで解決しました。(理由分かってない…(汗)

ところで、他のサーバにあるファイルが存在するかどうかを簡単に調べる方法って
ありますか?ソケット、FTP可なのでいくらでも方法はあると思うのですが
どうしても自分のスキルではややこしくなってしまいます。

249 名前:名無しさん 投稿日:2001/03/28(水) 14:32
よく「ブックマークに追加」ってありますがあれはどうやってるのですか?

250 名前:えび 投稿日:2001/03/28(水) 14:45
ってゆうかJavaScriptだけど
<A href="javascript:window.external.AddFavorite('ここにURL','ここにページの名前')">お気に入りに追加</A>
ちなみにIE4以上でないと動作いたしません。
だからブラウザ判別が表示する前にいるけどね。

251 名前:名無しさん 投稿日:2001/03/28(水) 14:57
JavaScriptでしたか。。。
ではiモードなどではムリですね

252 名前:>>248 投稿日:2001/03/28(水) 18:19
他のサーバ = アナタがログインできるサーバならば可能
ミラーリングするときの手順を考えてごらんよ(大爆笑)

他のサーバ = アナタがログインできないサーバならば無理
そんなことできたらセキュリティもクソも無いでしょ(大爆笑)

激しくガイシュツだけどLWPモジュールを使えば?
もちろん調べるファイル名がわかる場合のみ有効です(大爆笑)

253 名前:T女の竹田 投稿日:2001/03/28(水) 18:37
>>252
ログインできなければ無理?アップロードするわけでもないのに?

>LWP
ちょっと訳があってモジュールのインストールはできないのですが。
ソケットから書くのかな。はぁー鬱

ちなみに名前はわかっていて、存在確認だけしたいのです。
ファイルそのものはいりません。

254 名前:名無しさん 投稿日:2001/03/28(水) 20:34
ライブラリ、モジュール、リファレンス・・・
これらの意味が本を読んでもちんぷんかんぷんです。
誰かわかりやすく教えて下さい。


255 名前:>>253 投稿日:2001/03/28(水) 21:15
うん。無理だよ(大爆笑)
他人のサーバにあるファイル一覧が取得できたら
有料データベースのデータを全部コピーできちゃうでしょ?

存在確認するだけなら、SocketでもLWPでOKです(大爆笑)

ちなみにLWPはコンパイル不要だから
デフォルトのディレクトリ構造のまま
プロバイダにアップロードすれば
インストール不可でも使えるよ(大爆笑)

256 名前:むぎ茶 投稿日:2001/03/28(水) 22:39


(大爆笑)するほどでもないな(n



257 名前:むぎ茶 投稿日:2001/03/28(水) 22:41


(大爆笑)(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley

258 名前:大爆笑オモロイ 投稿日:2001/03/28(水) 23:27
ファイルの存在確認

use Socket;

sub remote_exists{
&nbsp;&nbsp;&nbsp;&nbsp;my $host = shift;
&nbsp;&nbsp;&nbsp;&nbsp;my $path = shift || '/';
&nbsp;&nbsp;&nbsp;&nbsp;my $port = shift || '80';

&nbsp;&nbsp;&nbsp;&nbsp;my $iaddr = inet_aton( $host ) or die( "inet_aton\n" );
&nbsp;&nbsp;&nbsp;&nbsp;my $paddr = sockaddr_in( $port, $iaddr ) or die( "sockaddr_in\n" );
&nbsp;&nbsp;&nbsp;&nbsp;my $proto = getprotobyname( 'tcp' ) or die( "getprotobyname\n" );
&nbsp;&nbsp;&nbsp;&nbsp;socket( SOCK, PF_INET, SOCK_STREAM, $proto ) or die( "socket\n" );
&nbsp;&nbsp;&nbsp;&nbsp;connect( SOCK, $paddr ) or die( "connect\n" );

&nbsp;&nbsp;&nbsp;&nbsp;select SOCK;
&nbsp;&nbsp;&nbsp;&nbsp;$| = 1;
&nbsp;&nbsp;&nbsp;&nbsp;print SOCK <<END;
HEAD $path HTTP/1.1
Host: $host

END

&nbsp;&nbsp;&nbsp;&nbsp;my $response = <SOCK>;

&nbsp;&nbsp;&nbsp;&nbsp;close SOCK or die "close\n";
&nbsp;&nbsp;&nbsp;&nbsp;select STDOUT;

&nbsp;&nbsp;&nbsp;&nbsp;$response =~ / (200|OK)/ ? 1 : undef;
}

そんなにややこしいかなぁ?
実は、URLをhost,port,pathに分けるのがいちばん面倒そうだ。

259 名前:名無しさん 投稿日:2001/03/29(木) 01:36
http://www.perl.com/pub/doc/manual/html/pod/perlipc.html#A_Webget_Client
IO::Socket使いなよ、簡単だよ
ところで、目的のファイルはHTTPで見れるのか?


260 名前:T女の竹田 投稿日:2001/03/29(木) 16:50
>>255
>LWPはコンパイル不要
そうなんですか。勉強になります。

>>258
ありがとうございます。それを参考にやってみますね。
ネット関係はあまりやってなくて、WWWサーバさんと
直接お話ししたことがなかったのでちょっと臆していました(笑)

>>259
なるほどφ(.. )メモメモ
急ぎではないので、いろいろやってみようと思います。
あ、もちろんHTTPで見れます。

あと、これは全く別の話になるのですが、
open (FTP, "| ftp -n $host");
のようにパイプでFTPを呼び出してアクセスする場合、
ファイルリストの取得とかはできるのでしょうか?
(はぁー、また馬鹿にされそうな予感…

261 名前:名無しさん 投稿日:2001/03/29(木) 18:54
>>260
>open (FTP, "| ftp -n $host");
よく知らんけど、これだとftpにコマンドを与えることはできるけど
その結果を取得できないんじゃない?

262 名前:名無しさん(222) 投稿日:2001/03/29(木) 18:55
substr関数について分からないことがあったので質問します。

以下のスクリプト

#!/usr/bin/perl -w
$msg = "He is going to his house.";
substr($msg, '0', '2') = "She";
print "$msg\n";

『He』を『She』に替えることはできるのですが、同時に
『his』を『her』に替えるのにはどうすれば良いでしょうか。
3行目のsubstrの一行で二つの文字を変更することは可能なのでしょうか。

宜しくお願いします。


263 名前:261 投稿日:2001/03/29(木) 19:28
ちょっと調べてみた。
ftpと双方向で通信するのってこれでいいんでしょか?

use IPC::Open2;
open2(\*IN, \*OUT, 'ftp
ftp://user:pass@domain');
print OUT "nlist\n";
close OUT;
@names = <IN>;
close IN;

264 名前:名無しさん 投稿日:2001/03/29(木) 19:36
他のサイトのファイルを読み込む時ってどうするのですか?
open FH, "
http://tako.2ch.net/perl/index2.html";
@lines = <FH>;
これじゃあできないんですが。
よろしくお願いします。

265 名前:名無しさん 投稿日:2001/03/29(木) 19:40
>>264 とっとと死ね。

266 名前:_gunzip@φ(・▽・ 投稿日:2001/03/29(木) 19:45
>>260
LWPならば、
----------
#!/usr/bin/perl -w

use LWP::UserAgent;
use HTTP::Status;
use HTTP::Request;
use HTTP::Response;

$url = "http://www.2ch.net/index.html"; #チェックしたいURL

$ua = new LWP::UserAgent();
$ua->timeout(10);
$request = HTTP::Request->new("HEAD",$url);

if($ua->request($request)->is_success()){
    #ok
}else{
    #error
}
----------
ですかね。(LWP::RobotUAの方がいいような気がしますが。)
この手のロボットは管理する側から見ると・・・なので、
よく考えてからにしてください。(本当に)

267 名前:_gunzip@φ(・▽・ 投稿日:2001/03/29(木) 19:56
↑変なリンクが張られているな・・・

>>264
どうしてもopen()で済ませたいならば、
open FH,"lynx -source "http://tako.2ch.net/perl/index2.html |";
open FH,"wget -O /dev/stdout "http://tako.2ch.net/perl/index2.html |";

または、LWP::Simple のget()利用を考えると良いと思います。

>>260
えと、Net::FTP では駄目なの?


268 名前:_gunzip@φ(・▽・ 投稿日:2001/03/29(木) 19:58
>>262
やっぱり、こう↓するしかないような。(数値に''はつけない方が・・・)
----------
#!/usr/bin/perl -w
$msg = "He is going to his house.";
substr($msg, 0, 2) = "She";
substr($msg, 16, 3) = "her";
print "$msg\n";
----------
ただ、こちら↓の方が分かりやすいと思いますです。
----------
#!/usr/bin/perl -w
$msg = "He is going to his house.";
$msg =~ s/\bHe\b/She/g;
$msg =~ s/\bhis\b/her/g;
print "$msg\n";
----------


269 名前:_gunzip@φ(・▽・ 投稿日:2001/03/29(木) 20:02
>267に変な"が付いてた・・・

open FH,"lynx -source http://tako.2ch.net/perl/index2.html |";
open FH,"wget -O /dev/stdout http://tako.2ch.net/perl/index2.html |";


270 名前:_gunzip@φ(・▽・ 投稿日:2001/03/29(木) 20:14
>>262
こういうやり方もあります。
----------
#!/usr/bin/perl
#置き換えリスト
%w = (
He => "She",
his => "her",
);
$msg = "He is going to his house.";
$msg =~ s/(\w+)/$w{$1} or $1/eg;
print "$msg\n";
----------


271 名前:名無しさん 投稿日:2001/03/29(木) 23:03
503iから端末のシリアルno.抜けるようになりましたけど、
ユーザーエージェントって、やろうと思えば偽装できるんですよね?

272 名前:名無しさん 投稿日:2001/03/29(木) 23:08
>>271
偽装という表現が適切かどうかはともかく。
できます。


273 名前:むぎ茶 投稿日:2001/03/29(木) 23:16


君には無理



274 名前:名無しさん 投稿日:2001/03/30(金) 07:24
初めて質問するんですが・・今、ソケットを使って他のページを読み込み、
CGIで特定の文字列だけを返すプログラムを作っています。
で、今とほほのプログラムを使って書いているのですが
----
$addr = (gethostbyname("$url1"))[4];
$name = pack("S n a4 x8", 2, 80, $addr);
socket(S, 2, 1, 0);
connect(S, $name);
binmode(S);
select(S); $| = 1; select(stdout);
print S "GET $url2 HTTP/1.0\r\n\r\n";
while (<S>) { @data=<S>; }
close(S);

#これ以下は文字列の処理をしています。
----
urlのところには希望のページのアドレスをフォームで受け取るようにしています。
これで大半のページは読み込めるのですが、一部読み込めないページが出てきてしまいます。
正確には実在するページを読み込んでも「ファイルが存在しません」という
ページがでてしまいます。
どなたか原因を御存知の方がいらっしゃいましたら御教授ください。
それについて勉強できるページがあればそれを教えてもらうだけでも嬉しいです
http://x68000.startshop.co.jp/~68user/ こことかは読んだのですが)
よろしくお願いします。

275 名前:>>274 投稿日:2001/03/30(金) 08:28
ソースをコピーしただけで、どんな処理してるのか理解してないでしょ?(大爆笑)
わずか9行なんだから徹底的に調べてごらんよ(大爆笑)
↓この辺読めば解決すると思うよお(ギャハハー)

■CGI-ML Archives(ID:cgi-ml Pass:cgi-ml)
http://210.224.170.228/cgiml/

■Perlでブラウズ(HTTP)
http://ash.or.jp/ash/tips_prog/htm/perl_http.htm


276 名前:名無しさん 投稿日:2001/03/30(金) 10:06
>275
最近意味もなく大爆笑するレス全部キミか?

277 名前:名無しさん 投稿日:2001/03/30(金) 10:47
ファイル操作で、
ファイルの作成日を知るにはどんな演算子使えばいいのですか?
ファイルの作成日(時間)から一分経過していたら
そのファイルを削除するようにしたいのですが。

278 名前:名無しさん 投稿日:2001/03/30(金) 11:37
あげ

279 名前:>>277 投稿日:2001/03/30(金) 12:06
statを使えば解決すると思うよ〜ん(大爆笑)

指定時刻にファイルを削除させるにはプログラムを
常駐させる必要があるのでオイシクないです(大爆笑)

むしろ誰かがアクセスするたびに削除するか判定させる
プログラムのほうがサーバには優しいはずですよ(ギャハハー)

280 名前:>>274 投稿日:2001/03/30(金) 12:30
Host: www.hogehoge.com
がないから。

281 名前:名無しさん 投稿日:2001/03/30(金) 12:45
>むしろ誰かがアクセスするたびに削除するか判定させる

説明不足でした。アクセスした時にファイルの作成日から
一分たっていたら削除するようにしたいのですが。

282 名前:_gunzip@φ(・▽・ 投稿日:2001/03/30(金) 12:50
>>279
>statを使えば解決すると思うよ〜ん(大爆笑)

恐らく、冗談でわざと言っているのだろうが念のため。

perldoc -f stat
>10 ctime inode change time (NOT creation time!) in seconds since the epoch
                     ^^^^^^^^^^^^^^^^^^^^^
How do I find the creation time of a file?

You can't - it isn't stored anywhere. Files have a last-modified
time (shown by "ls -l"), a last-accessed time (shown by "ls -lu")
and an inode change time (shown by "ls -lc"). The latter is often
referred to as the "creation time" - even in some man pages -
but that's wrong; it's also set by such operations as mv, ln,
chmod, chown and chgrp.


283 名前:_gunzip@φ(・▽・ 投稿日:2001/03/30(金) 12:55
↑ずれてる・・・
それとも、自分の認識が古い(or 誤り)のかな・・・・?


284 名前:名無しさん 投稿日:2001/03/30(金) 13:24
仮出所の時に頂いた母上のうどんおいしゅうございました。 (大爆笑)
姉上の柏餅、おいしゅうございました。 (大爆笑)
もう、裕史 は戻れません。 (大爆笑)
さようなら。 (大爆笑)


285 名前:名無しさん 投稿日:2001/03/30(金) 13:26
成人式とは?(大爆笑)
高松の成人式で市長にクラッカーや物を目の前で投げつけた馬鹿がいました(大爆笑)
あぁこの人たちのお父さんとお母さんは20年もの歳月をかけて大事に大事に(大爆笑)
猿を育てちまったんですね(大爆笑)
いやもったいない幼稚園、小学校、中学校、高校、大学まで行かせてあげて(大爆笑)
小遣いや洋服を買ってあげてと、わざわざ莫大な投資をしてきたわけですよ(大爆笑)
猿なら檻と生野菜で良かったのに(大爆笑)
でもこのたび高松市長の賢明な判断でこの無礼者達は無事捕獲逮捕(大爆笑)
される事となったようでして彼らのこれからの進路はもちろん(大爆笑)
日光猿軍団ですよね(大爆笑)
得意の芸はお客さんにクラッカーを向けてパンッと爆破、そして怒られて(大爆笑)
反省(大爆笑)
きっと軍団一の人気者になれること間違い無しです(大爆笑)
頑張ってくださいね。(大爆笑)
そもそも成人式を迎えたからといってなにかが変わるわけではないのです(大爆笑)
甘ったれが成人式を迎えたら劇的に大人びる なんて事は絶対にあり得ない(大爆笑)


286 名前:>>282 投稿日:2001/03/30(金) 13:26
( $ctime ) = ( stat( $file ) )[10];

ファイルの作成日付を調べるだけならこれで十分じゃないか?(大爆笑)


287 名前:名無しさん 投稿日:2001/03/30(金) 13:26
では成人式とはなにか?(大爆笑)
成人式とは大人になる儀式ではなく(大爆笑)
その日を境に大人と見なされる儀式です(大爆笑)
では誰が新成人を大人と見なすのか?(大爆笑)
お父さんでもお母さんでもありません(大爆笑)
学校の先生でも友達でもありません(大爆笑)
社会が大人とみなすんです(大爆笑)
成人式こそ半人前だった者を社会を構成する一員として扱うものとする(大爆笑)
誇るべき晴れの舞台のはずだが今の俺を含めた若い世代には(大爆笑)
残念ながら大人として扱われるという誇らしさなんてないのが実状で(大爆笑)
だりぃなぁガキのままで遊んでたいよね なんてのが多いの事実です。(大爆笑)
人間なんぞしっかりとした家庭でのしつけと学校での教育をしなければ(大爆笑)
猿となんら変わりません。それは猿そのものです。(大爆笑)
自由と権利だけを声を高くして教えたがそれらを享受する前提である(大爆笑)
義務と責任を教えなかった(大爆笑)
事が権利意識だけが肥大化した無礼者を生み出すことになったんだよ(大爆笑)
すくなくともこれからひとの親になる俺と同じ世代の奴らはてめぇの子供を(大爆笑)


288 名前:名無しさん 投稿日:2001/03/30(金) 13:26
大人になることの誇らしさを知っている人間(大爆笑)
に育てるよう一緒に体当たりで頑張っていこうじゃないですか(大爆笑)
俺彼女いないけど(大爆笑)
俺の場合まず子供生んでくれる相手から探さなきゃいかんわけで(大爆笑)
我こそはと思う埼玉、東京近郊の婦女子は(大爆笑)
一刻も早い写真付きメールをください(大爆笑)
子育て目標は先ほども言ったとおり大人になる事を誇れる人間です(大爆笑)
注 ただし娘の場合は成人まで俺と一緒に風呂に入れますが駄目ですか?(大爆笑)
最後に高松市の彼らが十分に反省し人間として自立されることを切に願います(大爆笑)
追加更新/高松市の市長のお話がありましたので保存して取っておきました ここです(大爆笑)
--------------------------------------------------------------------------------(大爆笑)
このテキストに関する抗議は一切受け付けません(大爆笑)
が(大爆笑)
猿軍団のお猿さんからの抗議なら可(大爆笑)


289 名前:>>286 投稿日:2001/03/30(金) 13:28
馬鹿?(だろうな・・・大爆笑)

290 名前:名無しさん 投稿日:2001/03/30(金) 13:34
>286
お前天然?

291 名前:_gunzip@φ(・▽・ 投稿日:2001/03/30(金) 13:40
>>286
にゃ

292 名前:sage 投稿日:2001/03/30(金) 13:48
おいおい(大爆笑)
自分で試してから発言したほうがいいぞ(大爆笑)
お気に入りの語尾を多用してもらえるのは嬉しいけどね(ギャハハー)

293 名前:名無しさん 投稿日:2001/03/30(金) 13:52
↑誰に言っとるのかわからん。


294 名前:名無しさん 投稿日:2001/03/30(金) 14:06
僕はあの日のことを今でも覚えている。 (大爆笑)
あれば18年前のことだ。。。 (大爆笑)
僕がいつもの様に、1と遊んでいたんだ。 (大爆笑)
でも僕達、普通の遊びに飽きて大人達に「逝っちゃ駄目」、 (大爆笑)
と言われていた裏山に逝ったんだ。 (大爆笑)
その裏山は熊が出るので、禁止されてたんだね (大爆笑)
でも僕らが遊びに逝ったときは熊は出てこなかった。 (大爆笑)
ただ・・・ (大爆笑)
そう、僕達が木に登って遊んでいたら、1君は木の上で (大爆笑)
「僕はウルトラマンだ!空を飛べるんだ!」 (大爆笑)
と言い張っていましたね。 (大爆笑)
そこを僕達は冷やかして (大爆笑)
「飛べるもんならdでみな!」 (大爆笑)
と逝ったんだよね。 (大爆笑)
すると1君は (大爆笑)
「ようし!見てろよ〜、シュワッチ!!!!!」 (大爆笑)
と言うと同時に約20m以上ある木の上からダイブしましたね。。 (大爆笑)
1君は一週間ぐらい生死の境目をさ迷ったそうですね。 (大爆笑)
そして、肋骨を三本、両腕の骨、両足の骨を超複雑骨折して (大爆笑)
両腕と両足を切り取らなければならなかったよね・・ (大爆笑)
病院を退院した時は復帰パーティが行われましたね・・ (大爆笑)
そうそう、あの時君が好きだった春奈ちゃんからのメッセージがあるよ (大爆笑)
「包茎アレルギーなの、ごめんなさい」 (大爆笑)
酷いねえ・・包茎がなんだってんだ・・ (大爆笑)
あ、そろそろ時間です、マタ今度お電話かけますね (大爆笑)


295 名前:_gunzip@φ(・▽・ 投稿日:2001/03/30(金) 14:12
>>284-285,287-288,294

perl -lpe "$_ .= qq[(大爆笑)]" infile > outfile

ですか?

296 名前:284-285,287-288,294 投稿日:2001/03/30(金) 14:17
>>295
これからはそれでやりますわ。

297 名前:名無しさん 投稿日:2001/03/30(金) 14:22
10歳の息子の場合 (大爆笑)
「ねえ、おとうさん」(大爆笑)
「ん?」(大爆笑)
「おかあさんには絶対秘密にしといてほしいんだけどさ」(大爆笑)
父、読んでいた新聞から顔を上げ、息子の顔を見る(大爆笑)
「なんだ?どうした?」(大爆笑)
「あのさー」(大爆笑)
「はっきり言えよ」(大爆笑)
息子、少しためらうが思いきって、(大爆笑)
「・・・おとうさんのちんちん、硬くなることある?」(大爆笑)
父、びっくりした顔、その後、うれしそうに大声で笑い出す(大爆笑)
息子、顔を赤くして怒る(大爆笑)
「笑うなよお!もういいよ!」(大爆笑)
「いや、ごめんごめん」(大爆笑)
父、笑うのをやめ、息子の方に体を向ける(大爆笑)
「エッチな写真見たりすると、そうなるんだろ?」(大爆笑)
「うん」(大爆笑)
「だいじょうぶ、みんなそうなる」(大爆笑)
「なんで?なんか、へんな気分なんだけど」(大爆笑)
「大人になると、赤ちゃんの素がちんちんからでるのは知ってるか?」(大爆笑)
「うん、1組の××に、あんたも赤ちゃんの種持ってるの?、って聞かれたことある」(大爆笑)
「そうか。うん。それでな、その種はお嫁さんのお腹の中に入れないと赤ちゃんにならないんだ」(大爆笑)
「えっ?やっぱりそうだったのか。そうだと思ってたんだよなー」(大爆笑)
「その時にちんちんが固くないとうまくお腹に入らない。わかるか?」(大爆笑)
「うん。おへそから入れるんでしょ?」(大爆笑)
(大爆笑)
(大爆笑)
一瞬の間(大爆笑)
父、目に動揺の色(大爆笑)
「うん、まあ、そのあたりだ」(大爆笑)
息子、小犬のようなきらきらした目で父親を見ている(大爆笑)
父、その目を正視できない(大爆笑)
「そ、それで、その準備というか、まあ、その、あれだ、○○も大人の男に近づいたというか」(大爆笑)
息子、大きくうなづく(大爆笑)
「まあ、女の子にはやさしくしなきゃだめだぞ。もう大人なんだからなっ!」(大爆笑)
父、無理やり話をしめくくる(大爆笑)
(大爆笑)


298 名前:_gunzip@φ(・▽・ 投稿日:2001/03/30(金) 14:23
>>296
やめなひゃれ

299 名前:名無しさん 投稿日:2001/03/30(金) 14:24
サザエさんちの場合 (大爆笑)
タラちゃん 「ねえ、ママー」(大爆笑)
サザエ   「なあに?」(大爆笑)
タラちゃん 「赤ちゃんってどこからくるでしゅか?」(大爆笑)
波平、フネ、マスオ、サザエ、視聴者にわからない程度に緊張する(大爆笑)
カツオ、ニヤニヤしている(大爆笑)
ワカメ   「コウノトリさんが運んでくるのよ、タラちゃん」(大爆笑)
タラちゃん 「じゃぼくもコウノトリさんに乗ったでしゅか?また乗りたいでしゅ!」(大爆笑)
サザエ   「あら、タラちゃんはもう大きいから、重たくて無理よー」(大爆笑)
マスオ   「残念だったねえ、タラちゃん」(大爆笑)
タラちゃん 「残念でしゅー」(大爆笑)
一同、笑 (大爆笑)


300 名前:名無しさん 投稿日:2001/03/30(金) 14:25
ちびまる子ちゃんちの場合 (大爆笑)
まる子 「ねえ、おかあさん」(大爆笑)
母   「なんだい?まる子」(大爆笑)
まる子 「エッチなことすると赤ちゃんできるって、ほんと?」(大爆笑)
(大爆笑)
(大爆笑)
バック暗転(大爆笑)
母、姉、祖母、顔にタテ線(大爆笑)
姉   「あ、あんたねえ。食事中に変なこと言わないでよ」(大爆笑)
まる子 「変なことじゃないよ、わかんないから聞いてんのにー!!」(大爆笑)
父ひろし、ニヤニヤ(大爆笑)
祖父友蔵「いつまでも 子供じゃないぞ さみしいな 友蔵、心の俳句」(大爆笑)
キートン山田「後半へ続く」(大爆笑)


301 名前:名無しさん 投稿日:2001/03/30(金) 14:25
のび太の場合 (大爆笑)
「ねえ、ドラえもーん」(大爆笑)
「なんだい?のび太くん」(大爆笑)
「赤ちゃんって、どこから来るのか知ってるう?」(大爆笑)
ドラえもん、疑いの目で(大爆笑)
「ほんとに知らないのー?」(大爆笑)
のび太、例のバカ丸出しの顔で(大爆笑)
「うん!」(大爆笑)
ドラえもん、ため息をつき、ポケットに手を入れる(大爆笑)
「ついにこれを使う日が来たか・・・」(大爆笑)
ドラえもん、男女の人形の様なものを取り出す(大爆笑)
「性教育ロボット!!」(大爆笑)
のび太、期待に満ち満ちた目(大爆笑)
「22世紀の子供たちは7歳になるとこれで本当のことを学ぶんだ。覚悟はいいかい、のび太君」(大爆笑)
「うん!!!!」 (大爆笑)
(大爆笑)
1時間後(大爆笑)
のび太、目が渦巻き。(大爆笑)


302 名前:>>292 投稿日:2001/03/30(金) 14:35
病院逝け。
コピペ野郎もついでに。

303 名前:名無しさん 投稿日:2001/03/30(金) 14:41
Perl5.6を導入してあるサーバーってあるでしょうか?


304 名前:名無しさん 投稿日:2001/03/30(金) 15:04
地球連邦軍、並びにジオン公国の戦士に告ぐ。我々はデラーズ・フリート。 (大爆笑)
いわゆる、1年戦争と呼ばれた、ジオン独立戦争の終戦協定が偽りの物であることは誰の目にも明らかである。なぜならば、協定はジオン共和国の名を語る売国奴によって結ばれたからだ。我々はいささかも戦いの目的を見失ってはいない。それは間もなく実証されるであろう。 (大爆笑)
私は日々思い続けた。スペースノイドの自治権確立を信じ、戦いの業火に焼かれていった者たちのことを。そして今また、あえてその火中に飛び入らんとする若者のことを。 (大爆笑)
スペースノイドの心からの希求である自治権要求に対し、連邦はその強大な軍事力を行使して、ささやかなるその芽をつみとろうとしている意図を証明するに足る事実を私は存じておる。 (大爆笑)
見よ!これが我々の戦果だ。このガンダムは核攻撃を目的として開発されたものである。南極条約違反のこの機体が、密かに開発された事実をもってしても、呪わしき連邦の悪意を否定できる者がおろうか。省みよ。なぜジオン独立戦争が勃発したのかを。なぜ我らがジオン・ズム・ダイクンと共にあるのかを。 (大爆笑)
我々は3年間待った。もはや我が軍団にためらいの吐息を漏らす者はおらん。今、真の若人の熱き血潮を我が血として、ここに私は改めて地球連邦政府に対し宣戦を布告するものである。仮初めの平和へのささやきに惑わされることなく、繰り返し心に聞こえてくる祖国の名誉のために、ジーク・ジオン。(大爆笑)


305 名前:名無しさんにゅ 投稿日:2001/03/30(金) 15:19
よくあるMETAタグで飛ばしてリファー残さないように
アクセスするjumpurl.cgi見たいな感じの
CGIありませんでしょうか?

306 名前:名無しさん 投稿日:2001/03/30(金) 15:27
>286
282をよく読みましたか?

307 名前:名無しさん 投稿日:2001/03/30(金) 15:29
NetWare サーバーまたは Windows NT サーバーにファイルをバックアップする(大爆笑)
バックアップ エージェントというネットワーク サービスを使うと、ローカルのハード ディスクのファイルをネットワーク サーバーに自動的にバックアップできます。そのためには、ネットワーク管理者がサーバーにセットアップしたバックアップ エージェント (ARCserve またはバックアップ実行エージェント) を使う必要があります。(大爆笑)
バックアップのスケジュールは、ネットワーク管理者が指定します。バックアップするファイルは、ユーザーが指定します。(大爆笑)
バックアップ エージェント サービスの設定方法や、バックアップするフォルダの指定方法などの詳細については、下の "関連項目" をクリックしてください。(大爆笑)


308 名前:名無しさん 投稿日:2001/03/30(金) 15:31
sub read_log(大爆笑)
{(大爆笑)
local $_;(大爆笑)
my $room = shift;(大爆笑)
my $fh = new FileHandle;(大爆笑)
my @data;(大爆笑)
(大爆笑)
$fh->open("< $CONFIG{log_dir}/$room.log") or error("Room $room does not exist.");(大爆笑)
while(<$fh>) {(大爆笑)
    chomp;(大爆笑)
    my($name, $time, $remark) = split /\t/, $_, 3;(大爆笑)
    push @data, {name => $name, time => $time, remark => $remark};(大爆笑)
}(大爆笑)
(大爆笑)
@data;(大爆笑)
}(大爆笑)

309 名前:名無しさん 投稿日:2001/03/30(金) 15:33
あれからの私は会社勤務、雑誌連載、夫として乳、いや父として、忙しい毎日を送っていた。(大爆笑)
やはりなんというか、数々のメールを通して総合的に言えることは、どうも二十歳くらいの女の子は三十路の男にダンディズムを強く感じ、「逆ナンパ」も当たり前らしいのである。(大爆笑)
時代は変わった…。私が学生の頃なぞ、不良っぽい女の子はスカートの丈が長ければ長い程ワルであり、ヘタすれば女の子の足首すら拝めないという有り様であったのが、今では総一億「ワカメちゃん状態」である(大爆笑)
。パンツ見えても「布で隠れてるからいいジャン」なのである(鼻血)(大爆笑)
。三十路とのアバンチュールも「減るもんじゃなし」的発想なのである(滝鼻血)(大爆笑)
。そのかわり別離も超ドライらしい(三十路男性からの半泣きメールが来ていたので立証済)。 (大爆笑)


310 名前:名無しさん 投稿日:2001/03/30(金) 15:40
       _____
      /:::::::::::::::::::::::ヽ
     /::::::::::,;;;;;;;;/ヾ;;;;;;;ゝ
    /::::::::〃 _  _|
    |::::::::/  □―□|
     (6:::|    人  ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     / \> ,__)  ) <  3Pの予感・・・・・
   /\ ヽ  └┘ /   \___________
  /|/\\  ̄ ̄ ̄/\




311 名前:名無しさん 投稿日:2001/03/30(金) 15:41
ちびまる子ちゃんちの場合 (大爆笑)
まる子 「ねえ、おかあさん」(大爆笑)
母   「なんだい?まる子」(大爆笑)
まる子 「エッチなことすると赤ちゃんできるって、ほんと?」(大爆笑)
(大爆笑)
(大爆笑)
バック暗転(大爆笑)
母、姉、祖母、顔にタテ線(大爆笑)
姉   「あ、あんたねえ。食事中に変なこと言わないでよ」(大爆笑)
まる子 「変なことじゃないよ、わかんないから聞いてんのにー!!」(大爆笑)
父ひろし、ニヤニヤ(大爆笑)
祖父友蔵「いつまでも 子供じゃないぞ さみしいな 友蔵、心の俳句」(大爆笑)
キートン山田「後半へ続く」(大爆笑)


312 名前:0 投稿日:2001/03/30(金) 15:41
ちびまる子ちゃんちの場合 (大爆笑)
まる子 「ねえ、おかあさん」(大爆笑)
母   「なんだい?まる子」(大爆笑)
まる子 「エッチなことすると赤ちゃんできるって、ほんと?」(大爆笑)
(大爆笑)
(大爆笑)
バック暗転(大爆笑)
母、姉、祖母、顔にタテ線(大爆笑)
姉   「あ、あんたねえ。食事中に変なこと言わないでよ」(大爆笑)
まる子 「変なことじゃないよ、わかんないから聞いてんのにー!!」(大爆笑)
父ひろし、ニヤニヤ(大爆笑)
祖父友蔵「いつまでも 子供じゃないぞ さみしいな 友蔵、心の俳句」(大爆笑)
キートン山田「後半へ続く」(大爆笑)


313 名前:286 投稿日:2001/03/30(金) 15:42
ちびまる子ちゃんちの場合 (大爆笑)
まる子 「ねえ、おかあさん」(大爆笑)
母   「なんだい?まる子」(大爆笑)
まる子 「エッチなことすると赤ちゃんできるって、ほんと?」(大爆笑)
(大爆笑)
(大爆笑)
バック暗転(大爆笑)
母、姉、祖母、顔にタテ線(大爆笑)
姉   「あ、あんたねえ。食事中に変なこと言わないでよ」(大爆笑)
まる子 「変なことじゃないよ、わかんないから聞いてんのにー!!」(大爆笑)
父ひろし、ニヤニヤ(大爆笑)
祖父友蔵「いつまでも 子供じゃないぞ さみしいな 友蔵、心の俳句」(大爆笑)
キートン山田「後半へ続く」(大爆笑)


314 名前:名無しさん 投稿日:2001/03/30(金) 15:54
イントラネットでサーバーの中でperl暴走してしまったら
どうすればいいんですか?

315 名前:>>314 投稿日:2001/03/30(金) 16:03
プロセスを削除しましょ(大爆笑)
UNIXサーバならkill使おうね(大爆笑)
ちゃんとOSくらいは書こうよ(ギャハハー)

316 名前:名無しさん 投稿日:2001/03/30(金) 16:07
春だな・・・

317 名前:315 投稿日:2001/03/30(金) 16:08
埼玉県在住のK美さん(大爆笑)
私もそんな上手い話は無いと思ってたんですけどそんなにお金がかからないのでトライしてみたんですよ、そうしたら見事(大爆笑)
投資額二千円程度のチョコレートが3/14には二万八千円の指輪になって返ってきました。(大爆笑)
本当なんです、10倍以上になって返って来たんですよ、今でも信じられません(大爆笑)
たぶんマニュアル通りにやったのが良かったんだと思います(大爆笑)
えぇ一ヶ月間のアフターケアも忘れませんでしたよ(大爆笑)
でもこういうのに引っかかる男っているんですね、正直ビックリしました(大爆笑)
一年に一回だけどこんな安全確実な投資先は絶対にありません (大爆笑)
さぁあなたもレッツトライ!!(大爆笑)


318 名前:名無しさん 投稿日:2001/03/30(金) 16:09
OSはNTです。
プロセスってなんですか?
クライアントから暴走を止める事はできますか?
どうか教えて下さい。m(_)m

319 名前:名無しさん 投稿日:2001/03/30(金) 16:10
今回、当クラブにてレス番号「315」のあなた様に対して
女性会員から逆指名がありました、これがその女性達です

あいか17   女子高生    友達や彼氏募集
ゆうな20   フリーター    甘えん坊ですぅ
りょう23   エステシャン  白い肌が自慢よ
あきこ24  予備校事務   出会いがほしい
きよみ33  Hなホステス  激しい人を希望
さきえ19   明るい学生   私じゃ駄目ですか
くみこ24   フリーター    舐め舐め好きよ
まりこ21   洋菓子屋勤務  酔うとHに変身
あやか24   デパート勤務  制服でしましょ
えいこ35   巨乳の主婦   胸が性感帯です
あきな20   パチンコ店員  おチンコ大好き
ようこ22   洋服店バイト  暖めてください
あいこ26   保険会社OL  もっこり欲しい
たえこ24   イベント関係  月1回会いたい
ともみ23   日焼けサロン  乳首も黒いです
しずか19   大学生      締まり自信有り
みちこ23   金融系OL    優しい人が好き
きみこ37   居酒屋ママ   バイブで責めて

320 名前:318 投稿日:2001/03/30(金) 16:18
お願いします。教えて下さい。

321 名前:318 投稿日:2001/03/30(金) 16:25
どうかお願いします。

322 名前:318 投稿日:2001/03/30(金) 16:30
ほんとに頼れるのは2ちゃんだけになってしまいました。
お願いします。

323 名前:名無しさん 投稿日:2001/03/30(金) 16:37
ps
kill pid


324 名前:名無しさん 投稿日:2001/03/30(金) 16:43
再起動

325 名前:名無しさん 投稿日:2001/03/30(金) 16:48
大爆笑のコピペしてる奴と低脳大爆笑男今すぐ回線切って首をつれ ボケ

326 名前:名無しさん 投稿日:2001/03/30(金) 16:50
>318
NTだったらタスクマネージャー(Ctrl+Alt+Delete)でタスクの終了で
perlのプロセスを消してageてやればいいんでないのかい?

327 名前:318 投稿日:2001/03/30(金) 17:00
うわぁぁぁっ

328 名前:名無しさん 投稿日:2001/03/30(金) 18:17
Windows上で<STDIN>を実行するにはどうするのですか?
ブラウザで起動しても<STDIN>ができません。


329 名前:328 投稿日:2001/03/30(金) 18:34
ちなみにWinは2000です。
ActivePerlの使い方はよく分かりません。

330 名前:318 投稿日:2001/03/30(金) 18:35
ほんとに頼れるのは2ちゃんだけになってしまいました。
お願いします。

331 名前:318 投稿日:2001/03/30(金) 18:36
どうかお願いします。

332 名前:318 投稿日:2001/03/30(金) 18:37
お願いします。教えて下さい。

333 名前:名無しさん 投稿日:2001/03/30(金) 19:35
本当の318ですが。
なりすましはやめといて下さい。
>>330>>332
やっぱり心ない人っているんですね。
君がそうやってつまらない事やってる間に
一所懸命に働いてる人がいるんだよ。
もう書き込みはしないです。

334 名前:名無しさん 投稿日:2001/03/30(金) 19:36
318です。
最後に、アドバイス下さった方ありがとうございました。

335 名前:名無しさん 投稿日:2001/03/30(金) 21:04
メールアドレスのホストのチェックってどうするのがいいんだろう。
前提としてこの際、メールの名前はどうでもいい。
gethostbynameだとダメだし・・・

336 名前:名無しさん 投稿日:2001/03/30(金) 22:38
>>334
プロセスの停止法も分からない人間が大きな口を叩きなさんな。

337 名前:むぎ茶 投稿日:2001/03/30(金) 22:49
>>333

爆。
高卒ですか?
高卒は不可。
勝手に一人で働いてな。わ

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley


338 名前:名無しさん 投稿日:2001/03/30(金) 22:51
>>336
あははー初心者スレなんだからいいじゃん
技術的な質問には反応しないくせに
そんなことだけ元気になるのね。かわいい♪

339 名前:262=222 投稿日:2001/03/30(金) 23:29
>>268
>>270
なるほど・・・。
それにしてもいつも素早いレスで感謝しています。
私は270の方が好きかな。

substr関数ってあまり使われないのですか?


340 名前:名無しさん 投稿日:2001/03/30(金) 23:31
336ではないが、「技術的」以前の問題じゃないのか?

341 名前:名無しさん 投稿日:2001/03/31(土) 01:44
>>339
>substr関数ってあまり使われないのですか?
んなこたぁない

342 名前:名無しさん 投稿日:2001/03/31(土) 06:52
どうも、以前ソケットで大笑いされた者です(死

で、NOTFOUNDのページとそうでないページを判別する事は
出来ますか?

色々やっても駄目だったので・・・。

343 名前:名無しさん 投稿日:2001/03/31(土) 08:18
httpしゃべって、404って言われたら、Not Found.
いかにもなURLにリダイレクトされても、Not Found.

344 名前:名無しさん 投稿日:2001/03/31(土) 13:01
ってゆうか、HEADして戻ってきたステータスコード見ればいいじゃん

345 名前:名無しさん 投稿日:2001/03/31(土) 16:25
>>344
激しく同感!


346 名前:名無しさん 投稿日:2001/03/31(土) 18:33
$aが$bで割り切れるかどうか調べるには?

347 名前:名無しさん 投稿日:2001/03/31(土) 19:08
>>346
#!/usr/bin/perl
unless ($a = sprintf("%d",int(rand(10)))) { $a = 1 }
unless ($b = sprintf("%d",int(rand(10)))) { $b = 1 }
if ($a % $b) {
print "$aは$bで割り切れねぇぞゴルァ\n";
} else {
print "$aは$bで割り切れると思われ\n";
}


348 名前:名無しさん 投稿日:2001/03/31(土) 19:10
関係ないけどsprintfはいらんっすね

349 名前:名無しさん 投稿日:2001/03/31(土) 21:17
行き詰まってここに来ました。
ややこしいのですが、以下のような内容です。

1)ID/PASS発行CGI
2)その他住所等の個人データ取得mailform(CGI)
…という二つの目的のためのscriptがあるとします。
これらをあたかも一つのformであるかのようにしたいのです。

---------1)----2)
ID-------○
Pass-----○
e-mail----○======○--------共通項目
Name------------○
Add--------------○
Tel--------------○
===================================
今使っている認証用PASS発行scriptでは名前や住所などの
データを取得できません。
そこで(見た目は)一つのformで、
pass発行と管理人にはその他データを送信するという
ことをしたいのです。
別のページを作りそれぞれ入力させても良いのですが、
やはり一度の操作でそれぞれ必要なデータを取ることが
出きればと思うのです。
上の例ですと認証scriptにはID・PASS・e-mailを送り、
formではe-mail・name・add・telを管理人に送ります。
<redirect>を使えば出きるかとも考えますが、
具体的にどう書けばいいのか分からなく困っています。

もしくはID/PASSと名前などのデータも同時に登録・管理、
そして出きれば登録者自身が変更できるようなscriptをご
存じ無いでしょうか?
※意味不明ならば補足します。

350 名前:>>349 投稿日:2001/03/31(土) 22:49
見当違いの説明をダラダラするのもアレなので今回はヒヤカシだけね(大爆笑)
特に不都合がないなら登録者と管理者に同じメールを送った方が便利じゃないか?(大爆笑)
↓こんなカンジでいいのか?(ギャハハー)

誰か(会員でない人)がアクセスする

ID登録をするためにメールアドレスと個人情報を入力する

登録者にはID、パスワードを添付したメールを送信する

管理者には登録者のメールアドレスと個人情報をメール送信する


351 名前:名無しさん 投稿日:2001/03/31(土) 22:52
↑春厨出てくるな。死ね

352 名前:名無しさん 投稿日:2001/03/31(土) 23:20
↑お前みたいな口先だけの奴よりよっぽど有益だろ。お前が死ね

353 名前:名無しさん 投稿日:2001/04/01(日) 00:45
>>347
$hoge = 66;
&ht;
sub ht{
$hogehoge = int(rand(99));
print "$hogehoge\n";
$hoge++;
if($hogehoge % $hoge){ print "okey\n"; }
else{ print "sine\n"; }
&ht;
}

これだとokeyしか出ないんですがどこが間違ってますかね?


354 名前:名無しさん 投稿日:2001/04/01(日) 01:02
間違った...いやあってるが....#! /usr/bin/perl
$hoge = 66;
&ht;
sub ht{
$hogehoge = int(rand(99));
print "$hogehoge\n";
$hogehoge*$hoge;
$hogehoge++;
if($hogehoge % $hoge){ print "okey\n"; }
else{ print "sine\n"; }
&ht;
}
これでもOkeyしか出ないですね

355 名前:名無しさん 投稿日:2001/04/01(日) 01:35
>>349
言うとおりredirectに関する説明を探してみな。
サンプル付でごろごろあるよ。
>>350
それでは登録を管理人がしないと逝けない。
質問はそれを省きたいからだろ。
大爆笑とのたまってるお前に微笑くらいしか出ないよ。
さも出きるような口振りだが嘘をつくな。
黙って糞でもしてろ。

356 名前:名無しさん 投稿日:2001/04/01(日) 01:53
>>354
srand;

357 名前:名無しさん 投稿日:2001/04/01(日) 02:32
http://www.compile.co.jp/webds/game/mayumi/
↑のようなゲームを作りたいんですが、ブラウザの戻るボタンを
禁止するという処理で躓いてます。アドバイス戴けませんでしょうか?
長くなってすみません。↓のようにやってみました。

<1>
1.cgi
最初にCookieの受け取りを行う。Cookieを受信している場合は、
SENDボタンを押した時にerror.cgiに移動させる。
cookieを受信していない場合は何もしない。
---
選択肢を選ぶ。『AとB』という選択肢があり、
フォームのラジオボタンで選択させる。

<2>
2.cgi
1.cgiのフォームから選択した内容を判定する。
『A』を選択した場合は---&gt;a.cgiへ。
『B』を選択した場合は---&gt;b.cgiへ。

この時に選択肢を一度選んでいるという証拠としてCookieを送信しました。
(後で1.cgiに判定させる為)
METAタグを使用して、0秒で『a.cgi/b.cgi』に移動させる。

<3>
a.cgi/b.cgi
Cookieの受信を行う。
以上。

・・・という処理を行ったのですが、実際にhttpdで確認してみると『a.cgi/b.cgi』に行った後に
ブラウザの「戻るボタン」で1.cgiに戻ると2.cgiで送信したCookieが受信されません。
(a.cgi/b.cgiでは受信されているのですが・・・)
1.cgiに戻った時に「更新」を行うと正常にCookieが受信されて
SENDボタンを押した時にerror.cgiに行きます。

戻った時にCookieを正常に受け取るにはどうすれば良いのでしょうか?
もしくは1.cgiに行った時に「一度のみ自動的に更新を行う」という作業を
CGIで出来ますでしょうか?

358 名前:名無しさん 投稿日:2001/04/01(日) 04:11
>>357
「戻るボタンの禁止」…
JavaScriptでツールバー消したウインドウ作るか、
サーバーでファイル作ってID管理しちゃうか。。。
でもそれじゃあ駄目だよね、ぐすん。



359 名前:名無しさん 投稿日:2001/04/01(日) 04:23
なあ、ヤフーオークションの画像の自動縮小ってどうやってやんの?
教えちくり。
画像サイズの総合サイズの規制方法は知っているんだけど、widrh height
がある一定のサイズ以上になったら、縮められるようにしたいんだけど。
知ってる方、お願いします。


360 名前:名無しさん 投稿日:2001/04/01(日) 04:32
>>353
Perlのバージョンが古い場合は>>356の言うようにsrandしなきゃならん。
んで、これだと再帰させてる場所がまずい。
ちゃんと出るのに見逃してる可能性もある。
$hoge = 66;
&ht;
sub ht{
&nbsp;&nbsp;srand;
&nbsp;&nbsp;$hogehoge = int(rand(99));
&nbsp;&nbsp;print "$hogehoge\n";
&nbsp;&nbsp;$hoge++;
&nbsp;&nbsp;if($hogehoge % $hoge) {
&nbsp;&nbsp;&nbsp;&nbsp;print "割り切れねぇからやり直し\n";
&nbsp;&nbsp;&nbsp;&nbsp;&ht;
&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;print "逝って良し\n";
&nbsp;&nbsp;}
}

>>354
これは$hoge=66だとして乱数$hogehogeに66掛けて1足したら
どうやっても66で割り切れない。ついでに66で割るんだから66掛けるのは無駄。
だから永遠にelse(つーか0)の方には逝かない。

トラブったらその部分を簡素にしてみるのが吉。

361 名前:名無しさん 投稿日:2001/04/01(日) 04:55
359
縦、横の配率を一定のままに縮小できないものでしょうか?
例えば、width=600 以上になった場合 500以下に縦横の配率を一定のまま縮小するとかです。

362 名前:名無しさん 投稿日:2001/04/01(日) 05:08
(大爆笑)は程度が低いな(ワラ

363 名前:大爆笑オモロイ 投稿日:2001/04/01(日) 09:27
>>355
1)登録ボタンを押す
2)IDとPASS発行サブルーチン
3)メール送信サブルーチン
こんな流れのプログラムもあるよ
それでも駄目なのか?


364 名前:名無しの35歳 投稿日:2001/04/01(日) 09:29
355は柔軟な思考回路が無いねえ
スクリプトキッズ???
え?死語なの?(大爆笑)

365 名前:深田恭子 投稿日:2001/04/01(日) 09:30
>>362
誰と比べて?(大爆笑)

366 名前:名無しさん 投稿日:2001/04/01(日) 09:59
>>357
こういうのを併用したらどうでしょう。

<1> 1.cgi
1を通った証拠としてCookieを食わせる。
2へ飛ぶ。

<2> 2.cgi
Cookieがあれば正常、なければ不正。
判定後にCookieを削除。
正常なら a.cgiまたはb.cgiへ進む。
不正ならerror.cgiへ。

<3> a.cgi/b.cgi
Cookieは関係なし

これだと、[戻るボタン]で1に戻り、1をリロードしないと、
2へ進んだときエラーになります。357のロジックと
組み合わせると完璧・・・たぶん・・・あまり自信なし。

367 名前:>>all 投稿日:2001/04/01(日) 13:25
初心者達にせっかく教えてやっているのだからもっと素直になろうな(大爆笑)
特にそこの355君は特ね(大爆笑)
あ、もう遅いか(ギャハハー)

>>282
細かいこと言うなよ(大爆笑)
ctimeってcreation timeだろ(大爆笑)
細かいことなんてどうでもいいじゃん(ギャハハー)


368 名前:名無しさん 投稿日:2001/04/01(日) 14:37
春だなぁ…。

369 名前:名無しさん 投稿日:2001/04/01(日) 14:53
自分じゃおもろいとでも思ってるのかね。
病院行ったら?

370 名前:名無しさん 投稿日:2001/04/01(日) 16:15
>>369
どこの病院がいいですか?

371 名前:名無しさん 投稿日:2001/04/01(日) 16:21
少なからずPerlに触れている367を評価します
368、369、370、371はこのスレッドにふさわしくありません


372 名前:名無しさん 投稿日:2001/04/01(日) 16:56
print('age!!');
unshift(@threads, splice(@threads, $num_of_this, 1));

373 名前:名無しさん 投稿日:2001/04/01(日) 17:24
print('sage!');
unshitf(@threads, spilce(@thraeds, $num_of_thls, l));

374 名前:名無しさん 投稿日:2001/04/01(日) 17:36
>>276
ちがいます(大爆笑)
ここの住人の一部には刺激が強すぎたみたいです(大爆笑)
これは単なる感嘆符か句読点だと思ってください(ギャハハー)

375 名前:名無しさん 投稿日:2001/04/01(日) 17:45
>>374
die '春休みの課題終わった?';

376 名前:sage 投稿日:2001/04/01(日) 17:50
kill 375

377 名前:名無しさん 投稿日:2001/04/01(日) 19:17
367は単なる馬鹿なのかそれとも呆けてるのかどっちだ

378 名前:名無しさん 投稿日:2001/04/01(日) 19:20
>>371
367読の後半よんで、マジで言ってるか?
なら救いようがないな。

379 名前:名無しさん 投稿日:2001/04/01(日) 20:08
>371
「少なからず」を辞書で引いてごらん。低脳君

380 名前:名無しさん 投稿日:2001/04/01(日) 22:42
>>371
”能力のない私には” が抜けてますよ?

381 名前:名無しさん 投稿日:2001/04/01(日) 23:13
あはは・・・
そんなに思想統一がしたいのですか?
オモロイ人間を陶太したいでくだちゃい(大爆笑)

382 名前:名無しさん 投稿日:2001/04/01(日) 23:36
此処はPerl初心者コーナー
関係のない話は止め。

>381
思想なんて大層な話かよ。
陶太→淘汰だろ。白痴君。君は小学生ですか?


383 名前:381 投稿日:2001/04/02(月) 00:26
小学生だよ(大爆笑)毎日毎日大爆笑
人は俺の事、白痴っていうけどな
俺もそう思う(大爆笑) もう来ねーよ

384 名前:名無しさん 投稿日:2001/04/02(月) 00:56
掲示板のアクセスログの設置の仕方を教えていただきたいのですが
まずアクセスログの種類は&lt;!--#exec cmd="./****.pl"--&gt;という
のをHTML文に追加すれば、あとは****.txtにログが残る簡易アクセスログ
なのですが、掲示板のPerl文の中の場合どこにこの&lt;!--#exec cmd="./****.pl"--&gt;
を追加すればいいのかわからないんです。自分で色々考えた結果、掲示板の
Perl文にアクセスログのPerl文をくっつけてやってみたりしましたが
駄目でした。誰か上手いやり方を教えていただけないでしょうか?
よろしくお願いします。

385 名前:名無しさん 投稿日:2001/04/02(月) 01:15
>>384
アクセスログのプログラムは、その掲示板CGIと同じディレクトリに
置いて、呼び出す部分は、そのCGIが吐くHTMLの中に埋め込めばいい

と、書かれた情報から推測するが

386 名前:名無しさん 投稿日:2001/04/02(月) 01:26
CGIで特定のサーバからしかプログラムを呼び出せないように
しているところがあります。多分環境変数で色々やっていると思うのですが
サーバの情報を書き換えて送ってやる事は可能ですか?

初心者的質問ですが・・・。

387 名前:名無しさん 投稿日:2001/04/02(月) 01:34
>>384
レスありがとうございます。おっしゃる通りにしてるんですが
上手くいかないんです。CGIが吐くHTML中ということなんですが
print "</p>\n";
print "</body></html>\n";
とありまして、
print "</p>\n";
print "</body></html>&lt;!--#exec cmd="./****.pl"--&gt;\n";

print "</p>\n";
print "&lt;!--#exec cmd="./****.pl"--&gt;\n";
print "</body></html>\n";
など試したのですが、掲示板自体が500のエラーで駄目なんです。
どうしたらいいのでしょうか?


388 名前:384=387 投稿日:2001/04/02(月) 01:35
すいません。。上のレスは>>385さんへです。。

389 名前:名無しさん 投稿日:2001/04/02(月) 01:39
Cron
って何ですか?
色々見ても良く分からなかったり・・・・。

実力の無い俺、鬱。

390 名前:名無しさん 投稿日:2001/04/02(月) 01:39
"→\"

391 名前:名無しさん 投稿日:2001/04/02(月) 01:45
>>389 cron 定期的にコマンドを実行できる便利なやつ

392 名前:名無しさん 投稿日:2001/04/02(月) 01:48
http://tako.2ch.net/test/im.cgi?bbs=perl
便利です。

393 名前:名無しさん 投稿日:2001/04/02(月) 01:52
>>391
乱雑な質問に答えてくださって有難うございます。
なるほど、定期的にコマンドを実行できるのですか・・。
一応Perlでプログラムできるのですよね・・・?
確か環境が適応していないと動かないとか聞いたような・・。
どうなんでしょう?

394 名前:名無しさん 投稿日:2001/04/02(月) 01:59
>>387
多分違うと思うが、そういう経験があるので取り敢えず。

そのディレクトリのパーミッションが777なら、755に直して、
ログなどを別ディレクトリに移す。
で、そのログのディレクトリを777に。
TKCITYとかのサーバだと.cgiファイルのディレクトリが777だと動かない
場合がある。



395 名前:名無しさん 投稿日:2001/04/02(月) 02:55
>>387
"をエスケープすべし。
print "&lt;!--#exec cmd=\"./****.pl\"--&gt;\n";



396 名前:名無しさん 投稿日:2001/04/02(月) 04:16
>>387
CGI中でわざわざSSIしないでCGIプログラムの中にアクセスログをそのまま使うか
アクセスログをサブルーチン化してrequireでもしたら・・・ダメなん?

397 名前:名無しさん 投稿日:2001/04/02(月) 05:59
system ("wget http://www.hoge.com/hoge.txt");
とするとcgiが置いてあるディレクトリにhoge.txtが落ちてくるんですか?


398 名前:名無しさん 投稿日:2001/04/02(月) 07:36
my って宣言がありますが、以前フリーのCGIを落としてローカルで
動かしたら動かず、myを全て取り除いたら動いた事があります。
なんででしょうか?原因が未だに分かりません。

399 名前:fusianasan 投稿日:2001/04/02(月) 07:58
Effective Perlあたりでも読んでみれ。
とりあえず、そのCGIはちゃんとデバッグしてなかったんじゃないの?
もしくは
>>398の使ってたPerlが古いとか。
個人的にはmy推奨。
じゃないと他人のスクリプトはいじりにくいし分かりにくいエラーの原因にもなる。

400 名前:おちんちんせっくす 投稿日:2001/04/02(月) 09:02
>>386
アクセス制限機能のある掲示板スクリプトでも見てごらん(大爆笑)
どんな環境変数で判定しているかわかるよ(ギャハハー)

>>397
実際に実行してごらんよ(大爆笑)

>>398
perl -v
を入力してヴァージョンを調べてみた?(大爆笑)
perl -wc ****.pl
を入力して文法チェックしてみた?(大爆笑)
my無しでも正常に動作するならmy不要です(ギャハハー)

401 名前:名無しさん 投稿日:2001/04/02(月) 10:44
↑なんだかしらんがムカツク文章になってるな(大爆笑)

402 名前:名無し 投稿日:2001/04/02(月) 10:59
最後に(大爆笑)どころか(藁とか(プとか付けてると
引きつり笑いしているところしか思い浮かばんのは俺だけか?sage

403 名前:名無しさん 投稿日:2001/04/02(月) 11:23
大爆笑さん
貴方のことが好きになりました。
愛しています。
恐らくあなたの一生でこの台詞を言ってくれるのは
後にも先にも私だけでしょうね。
あぁ可哀想で惨めな大爆笑さん・・・
本当の大爆笑をしたことがないあなたが不憫でたまりません。
いいじゃないですか。
ヒッキーだって、厨房だって、童貞包茎だって、弱虫だって、
喧嘩弱くたって、口が臭くたって、阿呆だって、
一生懸命になって書き込んだ文章から聞こえますよ。
誰かに救って欲しい、友達になって、自分を認めて、
何で俺だけがって・・・
あぁ・・・なんてかなしいウジ虫のような大爆笑さん・・・
氏ね(ここで本当の大爆笑)

404 名前:名無しさん 投稿日:2001/04/02(月) 11:57
>>384=387
CGI出力の中に含めたSSIコマンドは、
現在のApacheじゃ実行できない仕様になってるみたいだよ。

↓ApacheのFAQ参照。
http://japache.apache.or.jp/japanese_1_3/manual/misc/FAQ.html#ssi-part-iii
http://httpd.apache.org/docs/misc/FAQ.html#ssi-part-iii

だから396が書いてるような方法をとるか、SSI方式のアクセスログを
あきらめて画像貼り付け式のアクセスログに変えないと。

405 名前:名無しさん 投稿日:2001/04/02(月) 12:03
>>393
cronは、CGIスクリプトの中から呼び出すものじゃなくて、
普通はshellにログインして時刻や動作を設定するのだ。
cron設定用のcrontabというコマンドが一般ユーザにも
使えるように開放されていればね。

406 名前:名無し 投稿日:2001/04/02(月) 12:56
ん?

407 名前:406 投稿日:2001/04/02(月) 12:57
>>406は誤爆なんで気にしないでくれ

408 名前:_gunzip@φ(・▽・ 投稿日:2001/04/02(月) 14:28
>>339
substrは、文字列のある特定の部分だけを置換の対象に
する場合とかに重宝するよ。

#!/usr/local/ActivePerl-5.6/bin/perl -w

$d = "GATGTAGCTAGCATTTGTATGTA";
print $d , "\n";
substr($d,5,10) =~ tr[GCAT][CGTA]; #5-15文字目を置換の対象に
print $d , "\n";


409 名前:397 投稿日:2001/04/02(月) 16:06
できませんでした。
他サーバーのtxtファイルを自サーバーに持ってくる方法教えてください

410 名前:名無しさん 投稿日:2001/04/02(月) 17:40
>>409
use Socket;

411 名前:名無しさん 投稿日:2001/04/02(月) 20:09
ローカルで CGI が動きません。
OS は WIN98 で Perl for Win32、AnHTTPd を使っています。
Autoexec.bat のパスの確認はしました。

print "Content-type: text/html\n\n";
print "<HTML><BODY>\n";
print "<H2>Hello! WORLD</H2>\n";
print "</BODY></HTML>\n";

上記の「Hello! WORLD」は表示されるのですが、BBS などの CGI が動きません。
どういった原因が考えられるでしょうか?

412 名前:名無しさん 投稿日:2001/04/02(月) 20:52
>>411
こんなスクリプトを書いてbbs.cgiが出してるエラーをブラウザに表示してみ。

open STDERR, ">&STDOUT";
$| = 1;
print "Content-Type: text/plain\n\n";
require 'bbs.cgi';

413 名前:名無しさん 投稿日:2001/04/02(月) 21:28
>>411


どーしても駄目だったらActivePerlに替えてみ


414 名前:名無しさん 投稿日:2001/04/02(月) 21:43
>>411
どうせUNIXにしか使えないコマンドを使用しているに一票。


415 名前:名無しさん 投稿日:2001/04/02(月) 21:53
>>360
原因がわかりました
ありがとっす。

#ってきりelseは割り切れない時だと思ってた....鬱だ

416 名前:名無しさん 投稿日:2001/04/02(月) 21:55
>>411

KENT程度も動かないようであれば、それは病気(わ。

417 名前:名無しさん 投稿日:2001/04/02(月) 23:14
http://usagi.tadaima.com/2chbbs/subback.html

418 名前:http://rinn.art.cg/menu.jpg 投稿日:2001/04/02(月) 23:24
http://rinn.art.cg/menu.jpg

419 名前:357 投稿日:2001/04/03(火) 00:05
レス遅くなりましてすみません。
>>358さん
JavaScriptでも同じ事は出来る気がするのですが、
JavaScriptの知識が全く無いんです。
出来るならCGIで。と思ったのですがJavaScript勉強した方が
早いのかも…。

>>366さん
丁寧にありがとうございます。
早速作ってみてちゃんとエラーが出るようになりました。
ただ、リロードすればOKになるのを防ぐ方法は無いでしょうか?
もしかしたら、最初自分が行った方法は、リロードしないと
エラーにならなかったので、組み合わせて「二種類のCookie」を
使用すれば上手くいくのでしょうか?
↓みたいなの方法でもう一度やってみようと思います。

<1> 1.cgi
1を通った証拠としてCookieを食わせる。
2へ飛ぶ。
-追加-
2.cgiで追加したCookieを判別して
受信していたらエラー

<2> 2.cgi
Cookieがあれば正常、なければ不正。
判定後にCookieを削除。
正常なら a.cgiまたはb.cgiへ進む。
不正ならerror.cgiへ。
-追加-
もう一つ別のCookieを送信する。

<3> a.cgi/b.cgi
Cookieは関係なし


420 名前:411 投稿日:2001/04/03(火) 00:11
times not implemented at minibbs.cgi line 266, <READ> chunk 1.
と出たのですが、頭悪くてどうしていいのか判りません。すいません。


421 名前:名無しさん 投稿日:2001/04/03(火) 02:34
>>411
xxx not implemented 〜
てのは、xxxがそのバージョンのperlに組み込まれてないってこと。
Win98使ってるならありがちな悲劇だ。

422 名前:名無しさん 投稿日:2001/04/03(火) 03:00
>>411
バージョンは何? perl -vしてみて。

5.6のperlport的には↓だから、インプリメントされてない
ってことは、古いバージョンじゃないのかなと思うんだけど。

times

Only the first entry returned is nonzero. (Mac OS)
``cumulative'' times will be bogus. On anything other than Windows NT or Windows 2000, ``system'' time will be bogus, and ``user'' time is actually the time returned by the clock() function in the C runtime library. (Win32)

Not useful. (RISC OS)


423 名前:357 投稿日:2001/04/03(火) 20:53

最初に自分が行った処理では1.cgiに戻るボタンで1.cgiに戻った際に
"更新"しないとERRORにならなかったのですが、366さんの助言により
"更新"しなくてもERRORになるようになりました。

ただ"更新"してしまうとやっぱりERRORにならなくなってしまうので、
だったらcookieを二つに増やせば上手くいくのでは?と思い以下のような
仕組みにしたのですが上手く動きません。
流れ図で見れば上手くいくような感じなのですが、cookieの動きがおかしいです。
cookieを受信して、そのcookieを"フォームのポストで送る"という処理は
OKなのでしょうか?
↓の流れだとおかしいでしょうか。すごい見にくくてすみません。

<1>
1.cgi
cookie_xを受信
cookie_yを送信
---
フォームのラジオボタンから
選択肢『A/B』を選ぶ。
同時にcookie_xのデータもSENDボタンより送る。

<2>
2.cgi
cookie_xは、1.cgiのポストからデータを受け取る。
cookie_yの受信。
判定を行う。
cookie_xはあるのか?
ある時は「不正エラー」
ない時は以下の処理に続く。
cookie_yはあるのか?
ない時は「不正エラー」
ある時は以下の処理に続く。
選択肢の判定を行い、選択肢がAであればa.cgiへ。選択肢がBであればb.cgiへ。
cookie_yの削除。
cookie_xの送信。

<3>
a.cgi/b.cgi
特に何もせず。

424 名前:>>397 = 409 投稿日:2001/04/04(水) 08:26
ところでwgetはインストールされてるのかい?(大爆笑)
他にもSocketやLWPでも同じことができるぞ(大爆笑)
過去ログ読まない人も好きだけど、ちょっと読んでみてね(ギャハハー)

------------------------------------------------------------
#!/usr/bin/perl

use File::Find;
print "Content-type: text/plain\n\n";
find(\&Gyahaha, @INC);
sub Gyahaha { /\.p[lm]$/ && print "$File::Find::name\n"; }
------------------------------------------------------------

インストール済みのモジュールはこれで調べられる鴨よう(大爆笑)
正確にはパスの通ったモジュール等を表示してるだけでちゅ(大爆笑)
出力結果の見栄えが悪いけどゴメンねえ(ギャハハー)


425 名前:名無しさん 投稿日:2001/04/04(水) 08:44
>>424
>表示してるだけでちゅ
(大爆笑) 氏は赤ちゃん言葉がよく似合うね。



426 名前:γ−GDP8倍デブヲタ男 投稿日:2001/04/04(水) 09:22
春厨の季節はいつまで続くんだろうね(大爆笑)


427 名前:名無しさん 投稿日:2001/04/04(水) 10:57
>>421
>>422

有り難う御座います。今からActive Perlを入れてみます。

428 名前:大爆笑崇拝者 投稿日:2001/04/04(水) 12:06
ちょっと待て!
WIN98+AnHTTPdで掲示板スクリプトが使えないだと?
ほぼ間違いなく設定ミスだろ(大爆笑(


429 名前:未熟者 投稿日:2001/04/04(水) 12:31
こんにちは。
WebサーバとMailサーバを1台で運用しています。
各ユーザがwebページから、.forwardファイルを編集して、
転送先を変えられるCGIを作成したいのですが、
どのようにやればいいのかさっぱりわかりません。
何かいい知恵が有りましたら、どうかご教授ください。
よろしくお願いします。

ちなみにIDとパスワードを入力させて、UNIXコマンド(su)で
そのユーザになって書き換えればいいのでしょうか・・・・
(このやり方がまったくわかりません・・・)

430 名前:名無しさん 投稿日:2001/04/04(水) 12:37
429には絶対出来ないな。

431 名前:図書委員 投稿日:2001/04/04(水) 13:01
>>430
きみにもできないよ


432 名前:新聞委員 投稿日:2001/04/04(水) 13:09
>>431
きみにもできないよ

433 名前:422 投稿日:2001/04/04(水) 13:10
>>427
できれば、現状のperl -vも見たいなー。いや、興味本位なんですけど。

>>428
   >>421, >>422は読めますか?

>>429
PAMを使うとか、いろいろ手はありますが。

ユーザーのホームディレクトリに.forwardという
ファイルが存在すればいいだけであれば

CGI内でファイルを作って、ユーザーに入力してもらったID,PWDで
FTPする(Net::FTPとかで)のがお手軽でsafeです。


434 名前:422 投稿日:2001/04/04(水) 13:11
さげてしまって。スマソ

435 名前:422 投稿日:2001/04/04(水) 13:17
(大爆笑)使うの忘れた。スマソ

436 名前:風紀委員 投稿日:2001/04/04(水) 13:19
>>435
今度忘れたら生徒手帳を取り上げますよ(大爆笑)

437 名前:422 投稿日:2001/04/04(水) 13:35
ちょっと補足。
たしか、どっかで見たなあと探してみたら、
去年の9月ごとfj.mail.system.sendmail で話題になってます。
Message-ID: <39CD2E68.D5D0185F@tmail.tokodenki.co.jp>
以下のスレッドです。
趣旨は一緒ですけど。

438 名前:422 投稿日:2001/04/04(水) 13:36
s/9月ごと/9月ごろ/

439 名前:未熟者 投稿日:2001/04/04(水) 14:12
>433
レスありがとうございます。
サーチエンジンを使ってNet::FTPを調べようとしたのですが、
参考になるような文献が見つかりませんでした。
もう少し補足いただけると幸いです。
よろしくお願いします。


440 名前:422 投稿日:2001/04/04(水) 14:27
>>439
別にNet::FTPを使わなくっても、FTP接続ができれば問題ないです。
Net::FTPについては、CPANでダウンロードしてきてマニュアルを読んでください。
日本語の情報が欲しければ、ちょっと古いですが「モジュール活用ガイド」、
「クイックリファレンス」あたりに説明があります。参考書籍のスレへどうぞ。

モジュールのインストールについては http://member.nifty.ne.jp/hippo2000/perltips/module_install.htm
libnetというものをインストールすると関連するものが全てインストールされます。

....という話ではなくて?

441 名前:433=422 投稿日:2001/04/04(水) 15:46
>>439
時間があいたから、サンプル書いたよ。
Net::FTP利用バージョンね。....仕事しろよ、おれ。。
#!/usr/bin/perl
use CGI;
use Net::FTP;

my $cgi = CGI::new();

# HTMLのフォームは id, password, .forwardの中身を指定
my $host = 'localhost';
my $id = $cgi->param('id');
my $pwd = $cgi->param('password');
my $dot_forward = $cgi->param('dot_forward');

my $temporary_file = join ('_', $host, $id, time, $$);

open(TEMP, ">$temporary_file");
print TEMP $dot_forward;
close TEMP;

my $ftp = Net::FTP->new($host);
$ftp->login($id, $pwd);
$ftp->put( $temporary_file, ".forward");
$ftp->quit;

unlink $temporary_file;

print $cgi->header( 'text/html; charset=EUC-JP'),
"$id\@$hostの.forwardを$dot_forward に変更しました。";


442 名前:未熟者 投稿日:2001/04/04(水) 16:25
>433
ほんと〜〜に、ありがとうございます。
さっそく家に帰ったら、テスト環境で試してみます。
(俺も仕事しろ)
結果報告します。
ありがとうございました。


443 名前:http://fusianasan.2ch.net/  投稿日:2001/04/04(水) 19:24
guest guest 

444 名前:名無しさん 投稿日:2001/04/04(水) 19:25
いいソフト入手。
今までWin2000で<STDIN>とか実行できないと思ってたら
実行できるようにしてくれるソフトがありました。
ただそれだけ。

445 名前:あははー 投稿日:2001/04/04(水) 19:26
>>444
だったらソフト名くらい書けよヴォケ茄子(大爆笑)

446 名前:411 投稿日:2001/04/04(水) 22:48
>>433
5.003_07 でした。
テレホじゃないので未だ Active Per を DL していなくて。

447 名前:>>446 投稿日:2001/04/04(水) 23:26
古いけどフツーの掲示板スクリプトなら動くにょ(厨爆笑)

448 名前:お役に立ちます 投稿日:2001/04/05(木) 10:27
http://home9.highway.ne.jp/cym10262/

449 名前:名無しさん 投稿日:2001/04/05(木) 15:37
FAQなような気がするんですけれども、探せなかったのでお尋ねします。
while( <RWHO> ){
  ($name{$id}, $tty{$id}, ....) = split ;
}
とやってから、
foreach $item ( %name )
{  print "Name: $name{$item} tty:.. " ;
}
とすると各々2つずつ表示されてしまうのですが、何がまずいのでしょう?
RWHO では
nagaoka pc41:tty1 Apr 5 15:33
misumi pc42:ttyp2 Apr 5 15:30
という形式になっており、実行すると
Name: nagaoka tty: pc41:tty1 ...
Name: nagaoka tty: pc41:tty1 ...
Name: misumi tty: pc42:ttyp2 ...
Name: misumi tty: pc42:ttyp2 ...
と表示されてしまうといった具合です。
お手数かけますがなにとぞよろしくお願いします。

450 名前:_gunzip@φ(・▽・ 投稿日:2001/04/05(木) 15:47
>>449
>foreach $item ( %name )
ではなく、
foreach $item (keys %name )
でない?

#それと、ソースを端折りすぎのような・・・


451 名前:名無しさん 投稿日:2001/04/06(金) 04:42
すべてeucでスクリプトを書いている場合、
jcode.plは必要ないんでしょうか?

452 名前:名無しさん 投稿日:2001/04/06(金) 04:51
>>451
掲示板かな。
euc以外の文字コードで投稿されたら困るんじゃないの?
Perlワカランのにレス付ける俺。


453 名前:名無しさん 投稿日:2001/04/06(金) 04:55
>>452
あたり。
>>451
自前でコード変換したり、Jcode.pmを使ったりするなら必要ありません :-P

454 名前:名無しさん 投稿日:2001/04/06(金) 08:15
>>452
euc以外の文字コードで投稿するヴォケブラウザは無視しましょう。

455 名前:名無しさん 投稿日:2001/04/06(金) 08:23
>>454
それは極論。ケースバイケースでしょ。

>>451
IEやNetscapeなどのブラウザはHTMLのフォームと同じ文字コードで
送信するけど、別に義務じゃないのでそうでないブラウザもあるよ。
それに対応するなら、何らかの変換は必要。


456 名前:名無しさん 投稿日:2001/04/06(金) 08:29
>>455
ブラウザのシェアから見てもコード変換はしなくて良いと考えるのが定説です。

457 名前:名無しさん 投稿日:2001/04/06(金) 08:40
だからぁ、ケースバイケースだって
ミッションクリティカルなスクリプトでそれは出来んでしょ
個人サイトの掲示板なら別に対応しなくてもいいと思うけどさ

定説って言う言葉キライ

458 名前:名無しさん 投稿日:2001/04/06(金) 08:49
やり方を知らないからやってないのと、
やり方を知ってるが必要ないからやってないのは結構違う。
確かにケースバイケース。

459 名前:名無しさん 投稿日:2001/04/06(金) 09:12
んでも、ここで「そうだよ」って答えると
HTMLをSJISで吐き出しといて
「コードをEUCで書いたのに文字化けします」とか
言う人がでてきそうでしょ(w

460 名前:名無しさん 投稿日:2001/04/06(金) 09:13
個人サイト向けの話題でいいんじゃないのかな?

461 名前:未熟者 投稿日:2001/04/06(金) 09:30
>433
サンプルで期待通りの結果が得られました。
どうもありがとうございました。
あとはサンプルを元にエラー処理などを追加していきたいと思います。
それでは。


462 名前:完熟者 投稿日:2001/04/06(金) 13:48
最も古いバージョンのPerlを入手できるサイト(URL)を教えてください


463 名前:名無しさん 投稿日:2001/04/06(金) 16:10
教えてください
メールを送るスクリプトですが大体sendmail用ですよね?
うちのサーバーはqmailを使っているのですがそのまま使えますか?

464 名前:弐ch編者 投稿日:2001/04/06(金) 17:40
>>462
http://warez57.tripod.com/


465 名前:配列の配列で各要素を取り出すには?? 投稿日:2001/04/06(金) 20:08
配列の配列で質問です。

--------------------------
101,ジョージ,白,A,牡羊座
102,ジャック,黄,B,牡牛座
103,ジェシー,青,O,双子座
104,ジョン,赤,AB,蟹座
--------------------------

↑のデータファイルを

$i = 0 ;
while(<FH>){
unless(/[^\s]/){next ;}
$line[$i] = $_ ;
$line_i = 'line_'.$i ;
@$line_i = split(/,/, $line[$i]) ;
push(@all_lines, @$line_i) ;
$i ++ ;
}

↑の様にして @all_lines に持ってきました。

print "@all_lines" ;

↑の様にすれば

--------------------------
101 ジョージ 白 A 牡羊座
102 ジャック 黄 B 牡牛座
103 ジェシー 青 O 双子座
104 ジョン 赤 AB 蟹座
--------------------------

↑の様に表示されるのですが、
ジェシーを表示させようとして

print "$line_2[1]" ;

とすると失敗しました。

@all_lines には @line_0, @line_1, @line_2, @line_3
が入っていて @line_2 の各要素に $line_2[0] や $line_2[1]
などでアクセスできるかと思ったのですが間違っていました。

@sort = reverse sort
{ (split (/,/, $a))[1] <=> (split (/,/, $b))[1] } @all_lines ;

↑の様にして名前などで sort したいので配列の配列という状態で
各要素を取り出したいのですが、どうすればいいのでしょう??

466 名前:449 投稿日:2001/04/06(金) 20:30
>>450 _gunzip さん、ありがとうございました。

>foreach $item ( %name )
>ではなく、
>foreach $item (keys %name )
>でない?

その通りでした。でも、これを直しても人によっては2回出てきたりして…
なぜだろう。と思ったのですが取り敢えずの所は1回出てきた所で last
することで大丈夫だったので、これで過ごそうかと思います。
重ね重ねありがとうございました。

>#それと、ソースを端折りすぎのような・・・
そうですね。仰る通りです。

467 名前:れれれのれー 投稿日:2001/04/06(金) 20:41
もしかして$line_iが$line_1とか$line_2になってくれると思ってます?

468 名前:465 投稿日:2001/04/06(金) 20:51
>>467
はい思ってます。
という事はそう思っている時点で
大きな勘違いをしているのですよね??

469 名前:練習目的で修正案にチャレンジします 投稿日:2001/04/06(金) 21:44
>>465


$i = 0 ;
while(<FH>){
unless(/[^\s]/){next ;}
$line[$i] = $_ ;
$line_i = "line_$i";
@{$line_i} = split(/,/, $line[$i]) ;
push(@all_lines, @{$line_i}) ;
$i ++ ;
}

@lineをなんに使うかわからないけど、
必要なのかもしれないので取り除かずに
いてみました。

一応、試してみたところ$line_2[1]でジェシーが出ました。

配列名に変数を使う場合{}でくくる必要があったんじゃ
なかったかな?

470 名前:465 投稿日:2001/04/06(金) 22:21
>>469
ありがとうございます。さっそく試しましたが
無事に目的が達成できました。{}で括る必要が
あったのですね。この数日ここでずっと引っかってたので
本当に助かりました。勉強になりました。どうもありがとう!!!

471 名前:名無しさん 投稿日:2001/04/06(金) 22:35
>>470
あと、こういうときは多次元配列も覚えておくと便利だよ。

while(<FH>){
unless(/[^\s]/){next ;}
push @all_lines, [split(/,/, $_)] ;
}

print $all_lines[0][3], "\n"; # 配列要素のアクセス
@sort = sort { $b->[1] cmp $a->[1] } @all_lines ; # ソート

この場合@all_linesが「配列のリファレンス」の配列に
なってるのがミソです。

472 名前:名無しさん 投稿日:2001/04/06(金) 22:55
>>463
サーバ管理人に聞くのが一番だけど、普通使えると思うよ。
心配ならソースをここに。

473 名前:_gunzip 投稿日:2001/04/06(金) 23:07
>>470
勝手に補足です......
$lines[0]->[2]
もし、数値だけではどの要素を指しているのか
(この場合は三番目のフィールドだから色の名前です)
分かりにくいなら、use constant で定数宣言して、
use constant NAME => 1;
$lines[0]->[NAME];
のように書くと、少しは分かりやすくなります。
又は下のようにハッシュの配列の形で格納する手もあります。
$i = 0;
while(<FH>){
chomp;
next if /^\s+/;
@{$lines[$i++]}{qw[num name color blood constellation]} = split;
}
上のように書くと、
$lines[3]->{color};
でアクセスできます。


474 名前:名無しさん 投稿日:2001/04/06(金) 23:20
ちょっと話がそれるかもしれないけど、お絵かきチャットってありますよね。
あれ、自分のパソで立ち上げるんじゃなくて、サーバに設置することはできないんですかね?

475 名前:弐ch編者 投稿日:2001/04/06(金) 23:45
あまりに低レベルな人が多いですね、、、
2chの限界ですか、、、

476 名前:名無しさん 投稿日:2001/04/07(土) 13:53
>>475
オマエモナー
初心者すれなんだからいいじゃん。

>>そのた
いつもお世話になってます。
最近ようやく->や=>の意味を知りました。
多次元配列って便利そうですね。
これからも色々勉強していきたいと思います。
これからもよろしくお願いします。

477 名前:名無しさん 投稿日:2001/04/07(土) 14:50
>>475
コイツに言われる日が来ようとはな(藁
メガビに帰れよ。


478 名前:名無しさん 投稿日:2001/04/07(土) 14:55
PART1から通して読んだけど、このスレは役に立つなあ。
あげあげ


479 名前:名無しさん 投稿日:2001/04/07(土) 14:59
>>473を見て思い出した質問。定数を定義するのは、やっぱし
use constant NAME=>1;
と書くほうがいいですか。おれの場合、Perl4時代に覚えた
sub NAME() {1};
つーのを愛用してるんだけどー。
こっちのほうが、効率いいような気がするし(根拠なし妄想)

480 名前:弐ch編者 投稿日:2001/04/07(土) 15:14
>メガビに帰れよ
んで?

481 名前:名無しさん 投稿日:2001/04/07(土) 15:20
↑本物ですか?

482 名前:_gunzip 投稿日:2001/04/07(土) 15:32
>>479
constantプラグマのソースを見る限りでは、constantプラグマは
use constant NAME => 1;
のように使用した場合
#constant.pm =line%91
*$full_name = sub () { $scalar };
(補足: $fullname = "main::NAME",$scalar = 1)
でmainパッケージにプロトタイプ()の定数1を返すサブルーチンNAME
を定義しているだけなので、>479さんのように
sub NAME() {1}
とした場合と効果/効率はあんまり変わらないと思います。
(どちらにしてもインライン化されるわけですし)

・・・ただ、constantはその前に色々と
-Perl のキーワードと重複しているものがないか
-重複して宣言されているものがないか
-mainパッケージに属さなくてはいけないシンボル名ではないか?
のような事をチェックしているので、安全を期すならばconstant
を使用した方がいいかもしれません。
もし、その点については大丈夫なら、sub NAME(){1} の方が
(毎回のチェックを省ける分だけ)効率が良いと思います。
(ん・・・とは言えそんなに気にするほどでもないような気もします)


483 名前:_gunzip 投稿日:2001/04/07(土) 15:34
あと、参考までに。

perldoc perlsub

Constant Functions
Functions with a prototype of () are potential candidates for inlining
If the result after optimization and constant folding is either a constant or a
lexically-scoped scalar which has no other references, then it will be used in
place of function calls made without &. Calls made using & are never inlined.



484 名前:477 投稿日:2001/04/07(土) 15:36
>>メガビに帰れよ
>んで?

語彙の乏しいやっちゃな。

485 名前:479 投稿日:2001/04/07(土) 16:10
>>482-483
どーもです。やっぱこれからuse constantに切り替えよっと。

483を見ると、定数はlexical-scopeで見える場所で宣言しないと
定数として使えないんですね。。。
sub init {...} みたいな初期化関数を用意して、
そこでグローバルな定数が宣言できたらいいのにな。

486 名前:名無しさん 投稿日:2001/04/07(土) 16:31
>>479-485
むしろそこまで行くと中級者向けなのでは?
初心者コーナーでは、ちと厳しいかと。

どこからが中級者かは難しいとこだけど。

487 名前:479 投稿日:2001/04/07(土) 16:41
>>486
あのスレは敷居が高かったじゃーん。行くのこわいよ。
ハ!もしや最近のアレは敷居を低くするための秘密工作ナノカ!

488 名前:T女の竹田 投稿日:2001/04/07(土) 18:35
えーと、
$self->{REMOTE}というハンドルがあるのですが、
print $self->{REMOTE} "...";
のように書くとエラーになってしまいます。
(String found where operator expected in ... というエラー)
$dummy=$self->{REMOTE};
print $dummy "...";
と書くとエラーにならないのですが、どうして前者では
いけないのでしょうか?


489 名前:名無しさん 投稿日:2001/04/07(土) 18:54
>>488
print $self->{REMOTE} . "...";
文字列はきちんと連結させましょう。

490 名前:名無しさん 投稿日:2001/04/07(土) 19:15
アイコン掲示板で、タグoptionで「専用アイコン」ってチェックして、
削除キーの方で、どのアイコンを使うか選択できるようなのってできませんか?
わざわざ「○○専用」とかってoption追加してくのは大きくなるし、
エディタの上のほうで
@users_icon = ('ico1','ico2');
@users_pass = ('pass1','pass2');
てできた方が楽なので。
一応それらしいのにしてみるんですけど、構文エラー連発するし・・・

491 名前:名無しさん 投稿日:2001/04/07(土) 19:16
>>487
489みたいなお馬鹿さんはほっといて、

print {$test->{REMOTE}} "...";

とするべし。


492 名前:491 投稿日:2001/04/07(土) 19:16
おっと、すまね。
>>488

493 名前:くりぼー 投稿日:2001/04/07(土) 19:17
YOMI−サーチ置いたんですけど
どうも新規登録しようとしたり、
使い方見ようとすると、TOPに戻されちゃうんですが
誰か何処が悪いかわかるでしょーか?

アドレス:
http://www27.tok2.com/home/saico/

494 名前:名無しさん 投稿日:2001/04/07(土) 19:39
>>490
そういうのは改造スレのほうで、ソース見せて聞くほうがいいぞ。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869&ls=10
いま週末だから親切な暇人が相談にのってくれる可能性はある

>>493
単に設定まちがってるだけじゃねーの?

495 名前:名無しさん 投稿日:2001/04/07(土) 20:20
>>494
ども、じゃ、改造工房逝ってきます。

496 名前:くりぼー 投稿日:2001/04/07(土) 20:47
>>494
そーかな何度も確認してたしよーわからん
誰か設置してた人アドバイスきぼーん


497 名前:T女の竹田 投稿日:2001/04/07(土) 20:58
>>491=492さん
ありがとー。それでうまくいきました。感謝です〜

# ここの板って役に立つ情報多いですよね。
# 私は最近来たのでそれほど詳しくないので、どなたか昔からいらっしゃる方、
# http://corn.2ch.net/test/read.cgi?bbs=entrance&key=982571387
# 書いてください〜

498 名前:名無しさん 投稿日:2001/04/07(土) 21:49
CGI、Perl、レンタルサーバ板
名無し:名無しさん

■傾向
住民は少ない方だと思われる。
ポコポコ駄スレが発生するため、レス数の少ないスレが目立つ。
板名としてレンタルサーバと有るが、基本的に無料鯖についてはWeb製作板が担当、
有料鯖はCGI板が担当となっている。
当板住民としても何故PHP板が分離されたのかは不明。

■ヒト
コテハン率低いのか高いのか・・・。
むぎ茶発生率高し。弐ch編者ただひたすらにイタい。JAPUさん戻ってこない・・・。

■お勧めスレ
・Perl初心者コーナー
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156

---------------------------------
ってトコか?

499 名前:T女の竹田 投稿日:2001/04/07(土) 22:05
>498
_gunzipさん、JAPUさんの紹介もお願い〜
あと、むぎ茶さんがなにげにけっこうまともなこと言ってるのも
押さえてほしいかも〜。って自分で書いてもないのに
注文つけてごめんなさい^^;

500 名前:489 投稿日:2001/04/07(土) 22:25
思いっきり勘違いしてた。

>>488さん、ごめんなさい。
>>491-492さん、ありがとうございました。

501 名前:488(竹田) 投稿日:2001/04/07(土) 22:32
>>500=489さん
いえいえ。

502 名前:名無しさん 投稿日:2001/04/07(土) 22:43
CGI、Perl、レンタルサーバ板
名無し:名無しさん

■傾向
ポコポコ駄スレが発生するため、レス数の少ないスレが目立つ。
また、質問は質問スレ・初心者スレ・改造スレ等の既存スレに書かないと直ぐに
「-------------------------終了-------------------------」
と書かれる。

板名としてレンタルサーバと有るが、基本的に無料鯖についてはWeb製作板が担当、
有料鯖はCGI板が担当となっている。

むぎ茶が煽り専用共用ハンドルとして大活躍。
レスが10以上ついてるスレでは1スレ1むぎ茶以上になっている。
極稀にスルドイツッコミをいれる。(あくまで極稀)

当板住民としても何故PHP板が分離されたのかは不明。

■ヒト
コテハン率低いのか高いのか・・・。
主なコテハン(良い人編)
・JAPU:初心者な質問にも丁寧に答えてくれる。アニヲタ且つロリコンである。最近不在。(URL:http://www.japu.org/他)
・_gunzip:こちらも質問によく答えてくれる。
主なコテハン(イタい人編)
・弐ch編者:ただひたすらにイタイ。帰れコールが鳴り響く・・・。(URL:http://www.megabbs.com/

■お勧めスレ
・Perl初心者コーナー
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156
・CGIだけど、なんか質問ある?
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984388283
・CGI改造工房
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869
・あなたのCGI探しますスレッド
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=977498668
・おすすめの共用レンタルサーバー
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=982395887
・専用レンタルサーバ
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=975537991
・せっかくだからこのスレで掲示板作ってみませんか?
 http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033


_guzip氏の紹介思いつかない・・・。

503 名前:名無しさん 投稿日:2001/04/07(土) 22:49
_gunzipは確か医師じゃなかったか?
でも、それで十分いい出来だと思うぞ >>502


504 名前:498&502@スレ違いスマソ 投稿日:2001/04/07(土) 22:57
じゃT女の竹田さんOKなら書いてきてくれ(ぉ

505 名前:名無しさん 投稿日:2001/04/07(土) 23:08
ホント関係ないけれど、何でこの板はfushianasanスレが乱立するのだろう。


506 名前:名無しさん 投稿日:2001/04/07(土) 23:26
最近のここの弐編ってニセモノであ?

507 名前:465で「配列の配列」の質問をした者です 投稿日:2001/04/07(土) 23:28
>>471
>>あと、こういうときは多次元配列も覚えておくと便利だよ。

あ、そうやって読み込めば良かったのですか。
どうすれば要素数が未定のデータを $all_lines[0][3] という風に
読み込めるのかがわからなくて、配列に変数名を使うことで
解決を試みていました。さっそくスクリプトを見直して取り入れてみます。
これはいい事を教わりました。ありがとうございました。

>>473 _gunzip さん

定数宣言またはハッシュを利用すれば読みやすくなる、
ということですね。配列の配列に取り込むという目的の達成に
精一杯でしたので、読みやすさまで考慮に入れていませんでした。
大変勉強になりました。ありがとうございます。

>>473 以降の展開
ちょっと私のレベルではついていけません、すみません。
順を追って消化して理解できるように精進します。


少し話しがそれてしまうかもしれませんが、
テレホ利用のサーバーアップだけで Perl を上達しようなんて
無謀でしょうか。Perl 覚える前にアパッチの設定を覚えろ、
っていうことなんでしょうか。みなさんどうされていますか?

508 名前:名無しさん 投稿日:2001/04/08(日) 00:06
あぁんHTTPDで自分の中でやってぇ♪

509 名前:名無しさん 投稿日:2001/04/08(日) 00:34
カレントディレクトリをひとつ下に移動する方法教えてください
chdir(..);とchdir(../);としてみたらエラーになりました

510 名前:名無しさん 投稿日:2001/04/08(日) 00:39
上級者の人って use strict 使う人多いような気がするんですけど、
なにがいいの?

511 名前:/bin/名無しさん 投稿日:2001/04/08(日) 01:42
>>509

下のどのディレクトリかわからんとかけん。
上ならば chdir '..'; だが。


512 名前:名無しさん 投稿日:2001/04/08(日) 01:49
>>510
上級者はしらないが、おれはデバッグ時のタイプミスの発見が主な目的。

513 名前:509 投稿日:2001/04/08(日) 02:54
行きたかったのは上でした。。
chdir '..';でできました。ありがとうございます。

514 名前:白き騎士 投稿日:2001/04/08(日) 13:19
自作のモジュールを世界に公開したいです
書式は決まっているのですか?

515 名前:1 投稿日:2001/04/08(日) 14:56
★★★ ここまで読んだ ★★★

516 名前:名無しさん 投稿日:2001/04/08(日) 15:25
↑誰だ?

517 名前:名無しさん 投稿日:2001/04/08(日) 17:06
さくらのバーチャ使ってるんですけど
$ENV{REQUEST_URI}
$ENV{REDIRECT_STATUS}
が空白になってしまいます。
こういうのは簡単に設定変えられるのでしょうか?
変えられるようならば要望を出してみようかと思ってます。

518 名前:517 投稿日:2001/04/08(日) 17:11
失礼 ENV{REQUEST_URI}は出てきました。

$ENV{REDIRECT_STATUS} には200とか404とかが入ると思うのですが
やはり空白になってしまいます。

519 名前:名無しさん 投稿日:2001/04/08(日) 18:08
200って出たっけ?

520 名前:名無しさん 投稿日:2001/04/08(日) 18:09
100行程度のスクリプトを書いて、
HTPPDでオフラインテストでは動くのですが、
サーバにあげると動かないのですが
その場合の原因はどういうことがあるでしょうか?

521 名前:名無しさん 投稿日:2001/04/08(日) 18:23
>>520
ありがちなのは
(1) 1行目の"#!/usr/bin/perl〜"のパスが違ってる
(2) 1行目の改行コードが不正(ASCIIモードで上げてない)
(3) 必要なモジュール(.pm)やライブラリ(.pl)がサーバにない

522 名前:名無しさん 投稿日:2001/04/08(日) 18:28
>>519
RewriteRuleでURLをリライトしたときはデフォルトで
REDIRECT_STATUS=200になるよ。
つーかRewriteRule以外で飛ばしたときもREDIRECT_STATUSって
出るんですか?どうやるの?

523 名前:素人 投稿日:2001/04/08(日) 22:08
誰かこの初心者コーナー1-4スレのダイジェスト
みたいなのを作ってくれないかなあ。
情報量としては結構あると思うのだけれど。

524 名前:名無しさん 投稿日:2001/04/08(日) 22:12
>>510
俺も>>512と似ているがデバッグの軽減。
リリース版のときにはコメントアウトする。
>>514
モジュールそのものの書式は決まってないと思う。
POD(ドキュメント)の書き方はperldoc perlpodを参照のこと。

525 名前:名無しさん 投稿日:2001/04/08(日) 22:18
>>520
サーバーのPerlが古いと特定の構文を理解してくれない場合が
ある模様。
(別の原因かもしれないけど、俺にはわからない)

俺の使ってるところだと、例えば
$a ||= 1;
みたいなものが入っているとエラーになる。
当然オフラインでは動くんだが。

トクトクやフリーウェブでスペースを借りてみて
そこで動くかどうかを試してみるのも一興。

526 名前:名無しさん 投稿日:2001/04/08(日) 22:27
>>520
KCatch.pmを入れてみると吉かも。

527 名前:520 投稿日:2001/04/08(日) 22:50
>>521 525 ありがとうございます。
どれもクリアーしてるんですよ。
再チェックしてみたんのですが、
動かないと言うのも間違いで、表示されない状態です。
外枠のテーブルだけが表示されてて、一本細いのが出てました。

内容は、外枠テーブルの内部をループさせて更にテーブル横並べていき、
一定数したら、下におりて、さらに横にという感じで表示させようとするものです。
■■■■■
■■■■■
■■■■■
↑こんな感じ

HTTPDでは、動作してます。サーバにあげると内部のループ部分が
表示されてないのだと思います。
ループの記述が迷ってるのかな? なんでだろう?

528 名前:520 投稿日:2001/04/08(日) 22:51
>>526 どうも。
KCatch.pm ってなんですか? 調べてみます。

529 名前:弐ch編者 投稿日:2001/04/08(日) 23:25
で?

530 名前:526 投稿日:2001/04/08(日) 23:26
KCatch.pmについてはPerl初心者の部屋からリンクがあるはず。
でも今回は関係ないみたいだね。
出力されているHTMLが問題なら、オフラインで動いたときの
HTMLとサーバにあげてうまく動かないときのHTMLがどう違うか
まずソースを見てみては?

531 名前:名無しさん 投稿日:2001/04/08(日) 23:42
弐編いい加減出てくるなよ。

532 名前:弐ch編者 投稿日:2001/04/08(日) 23:59
黙れヴォケ、ぱかですか?

533 名前:名無しさん 投稿日:2001/04/09(月) 00:01
弐編いい加減出てくるなよ。

534 名前:弐ch編者 投稿日:2001/04/09(月) 00:04



アホ大量出現で停滞していたけど、ここにスレ再開を宣言する。




535 名前:520 投稿日:2001/04/09(月) 00:36
>>530 ありがとうございます。
早速HTMLを調べてみると、
たぶん、ココが悪いようです。
if ($check){
&html;
}
else{next;}
こういう書き方は間違ってるのでしょうか?

536 名前:弐ch編者 投稿日:2001/04/09(月) 00:38
やっぱやめ

537 名前:名無しさん 投稿日:2001/04/09(月) 00:43
>>535
それだけでは判断つきません。
よい書き方ではないかもしれないけどね。
そこがうまく動いてない原因と思った理由はなに?

538 名前:520 投稿日:2001/04/09(月) 00:58
>>537 ありがとうございます。

$check に1が入ってたら表示する。
>そこがうまく動いてない原因と思った理由はなに?
&html;
サブルーチンだけだと、表示されるんです。
if (!$check){next}
&html;
これだとダメでした。 やっぱ全体ださないと意味不明ですね。

539 名前:T女の竹田 投稿日:2001/04/09(月) 01:59
>>523
>ダイジェスト
いいかも。でも今日はもう寝るから、明日以降少しやってみようかな。

540 名前:名無しさん 投稿日:2001/04/09(月) 05:31
昔設置したゆいちゃっとProを使っているんですけども
imodeではフレーム無し版で問題なく参加できるのですが
EZwebですと当たり前ですがおかしくなります。

どなたかEZweb対応型に改造を試みた方はいませんでしょうか?

541 名前:名無しさん 投稿日:2001/04/09(月) 16:50
例えばSocketを書くよりも、
LWPなんかのモジュールを使った方が、
サーバーにかける負荷を減らす事が出来るんでしょうか?

542 名前:>>541 投稿日:2001/04/09(月) 17:22
そんなことわかんないよ(大爆笑)
データのサイズ、メモリやCPU占有率にもよるでしょ(大爆笑)


543 名前:名無しさん 投稿日:2001/04/09(月) 18:16
えーっと。。
サーバーとしましてはクライアントがLWP使っていようがいまいが
知ったこっちゃ無いんですが・・・
もしかして、HTTP::Daemonとかの話ですか?


544 名前:名無しさん 投稿日:2001/04/09(月) 18:23
>>543=ばか

545 名前:名無しさん 投稿日:2001/04/09(月) 18:37
>>544
どこらへんが馬鹿なのか教えていただければありがたいのですが・

546 名前:1 投稿日:2001/04/09(月) 21:06
★★★ ここまで読んだ ★★★

解決した人は[[解決]]ボタンを忘れずに押すこと!

547 名前:名無しさん 投稿日:2001/04/09(月) 22:11
↑騙るなよ

548 名前:名無しさん 投稿日:2001/04/09(月) 23:31
>>545
544じゃないけど、彼は 541を「CGIスクリプトでの話」だと
仮定して、文中のサーバーを「スクリプトを実行している
サーバー」だと取っているみたい。

543は 541文中のサーバーを「先方のサーバー」と
思っているみたい。

>>546
読んだら、まとめてね&hearts;

549 名前:名無しさん 投稿日:2001/04/10(火) 02:06
KENT-WEBより>> ロック処理でopen関数式を廃止。
これって、どういうことですか?


550 名前:名無しさん 投稿日:2001/04/10(火) 06:29
>>549
クソなロック方法を廃止ということ

551 名前:名無しさん 投稿日:2001/04/10(火) 22:41
use strict;

してるときに、コンフィグとかのファイルを

require('./config.ph');

---config.ph---
$X = "a";
1;
--------------

すると
Global symbol "$X" requires explicit package name at xxx.cgi line 3.
って当たり前の如く怒られてしまいます。

requireするファイル毎に
use vars qw($X)
と書くのは少しメンドイので
これってどうやって回避するののが一番良いのでしょうか?


552 名前:_gunzip 投稿日:2001/04/10(火) 23:10
>>551
perldoc strict
This generates a compile-time error if you access a variable that wasn't
declared via ``our'' or use vars, localized via my(), or wasn't fully qualified.

ですので、Perl5.6以降ならばourを用いて
our $X = "a";
と宣言するのが一番です。
又は、(5..6以前ならば)
$main::X = 'a';

my $X = 'a';

use vars qw[$X];
とするといいです。

#varsプラグマはもうobsoleteらしい。


553 名前:名無しさん 投稿日:2001/04/10(火) 23:35
ソケットを使ってサーバに環境変数を渡す場合、

print S "Referer: $ENV{'HTTP_REFERER'}\r\n";

と言った感じで良いのでしょうか?

また、それが上手く行っているかどうかローカルでチェックするためには
どうすれば良いでしょう。

どなたかよろしくお願いします


554 名前:名無しさん 投稿日:2001/04/11(水) 00:49
>>553
> print S "Referer: $ENV{'HTTP_REFERER'}\r\n";
それでOK。
> また、それが上手く行っているかどうかローカルでチェックするためには
> どうすれば良いでしょう。
問題があればサーバからのレスポンスでわかるんじゃない?
全てのやり取りを見たいならパケットを調べればわかるよ。


555 名前:名無しさん 投稿日:2001/04/11(水) 01:57
共有のチャットサイトをやっていて、アクセス元を調べたくて、
アクセス解析をつけようとしたのですが、うまくいきません。
下のタグを解析したいページに入れるのですが、CGIがわからなくて
入室フォームなどのHTML部分のところに入れたりしていましたが、
うまく解析されませんでした。どうしたらよいかわかる方がいらっしゃい
ましたら、よろしくお願いします。

■解析のタグ
<SCRIPT Language="JavaScript">
&lt;!--
document.write("<img src='
http://〜〜/report/report.cgi?");
document.write(document.referrer+"' width=1 height=1>");
// --&gt;
</SCRIPT>

■解析をしたいチャット
http://dream.lib.net/room/cgi/e_lchat.html




556 名前:名無しさん 投稿日:2001/04/11(水) 02:00
>>554さん
返答有難うございます。
ログは取得できるようになりました。しかし、

MIME-Version: 1.0 Server: AnWeb/1.29d Date: Tue, 10 Apr 2001 16:55:27 GMT Content-Type: text/html Connection: close Content-Length: 208
Error 403
Server Error: doesn't pass protocol : http

このようなエラーが出てしまいました。
多少$ENV{'HTTP_REFERER'}をいじる必要があるのでしょうか・・。

557 名前:名無しさん 投稿日:2001/04/11(水) 02:00
>>555
改造スレなら、レスがつきやすいと思いますよ。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869


558 名前:名無しさん 投稿日:2001/04/11(水) 02:34
>>557
改造スレってあったんですね。初めて知りました。
ありがとうございましたそっちの方で聞いてみます。

559 名前:553 投稿日:2001/04/11(水) 04:27
先ほど色々やったのですが、

print S "GET $ENV{'HTTP_REFERER'}\r\n";
print S "Referer: $ENV{'HTTP_REFERER'}\r\n";


print S "Referer: $ENV{'HTTP_REFERER'}\r\n\r\n";#本当はRefererじゃないです

で、一応結果はでました。(今から色々チェックですが)
http://x68000.startshop.co.jp/~68user/
このあたりを参考にしたんですが、他の有用なソケット関連の
ページってありますか?
参考書籍スレッドで探すと一般のスクリプトは詳しくて、ソケットは薄かったり
するので・・・


560 名前:名無しさん 投稿日:2001/04/11(水) 06:37
>>559
入門者の俺的に役立ったサイト。貴方にとってどうかは分からないよ?

Perl モジュールリファレンス
http://www.bekknet.ad.jp/~bero/docj/module/
窓流!CGIプログラミングのノウハウ
http://www2.yomogi.or.jp/watanabe/win/win_op.htm
Perlによる簡単なCGIプログラムのサンプル/リンク集
http://www.harukaze.net/~mishima/perl/cgi_sam1.html
Perlでプログラミング
http://www.net0726.ne.jp/~pandasan/Perl/index.html

561 名前:名無しさん 投稿日:2001/04/11(水) 08:54
ttp://www.hoge.com/cgi-bin/bbs.cgi?sub=はじめまして&comment=こんにちわさようなら
で書き込めるようなCGIを設置しています
イレギュラーかと思われるかもしれませんが、入力フォームを作らずに
メンバー各人に上記のように直接入力してもらう形をとっています
(非メンバーからの書き込みをできなくするため。参照はできます)
さて上記の こんにちわ と さようなら の間に改行を挟むことは出来るのでしょうか?
最初はチャットのCGIを使っていたので気にならなかったのですが、
書き込み側から複数行書き込み出来るようにして欲しいと要望があり、
実際出来るのか分からなくて困っています
お知恵を拝借できるとうれしいです。よろしくお願いいたします

562 名前:名無しさん 投稿日:2001/04/11(水) 09:29
>>561
メンバー各位に書き込みモードを教えるのではいけないのか?
bbs.cgi?mode=write
のように。
入力フォームを作らないなど正気の沙汰とは思えないぞ(w

563 名前:全角のナナシサン 投稿日:2001/04/11(水) 09:50
そんなもん、貴方のBBS(?)の仕様が分からなければ答えようがないような気が。

comment=こんにちわ<br>さようなら
と打ち込んでもらうとか、
comment=こんにちわ<>さようなら
と改行部分を使われそうもないような文字(この場合<>)
で表示するときにそれを改行に変換するとかしかないんぢゃないの?

>>562の意見に一票。

564 名前:名無しさん 投稿日:2001/04/11(水) 12:04
>>561
%0A がエスケープされた改行文字。
cgi-lib.plやCGIモジュールみたいに
エスケープ文字列を元に戻す処理があって、
複数行に対応してるんなら多分使えるだろう。

目的のCGIのURL宛ての入力用フォームが書かれたHTMLファイルでも
相手に送っておけばブラウザがエスケープ処理もまとめてやってくれるからいいと思うが。

565 名前:名無しさん 投稿日:2001/04/11(水) 12:18
>>564
>%0A がエスケープされた改行文字。
ありがとうございます!これでいけました。

>目的のCGIのURL宛ての入力用フォームが書かれたHTML〜
最初は実はこれだったんですが、携帯端末の人が現れたので・・・

他にレスいただいた方々 変な質問にお答えいただき本当にありがとうございました


566 名前:ななしさん 投稿日:2001/04/11(水) 16:05
データの読み込みについて質問です。
open(FILE,"./bbs.dat");
@data = <FILE>;
close(FILE);
とやって@dataにデータを入れ込むと、ファイルがでかいと
メモリ食いまくりますよね?
データ読み込みでセオリーな方法があれば教えてください。

567 名前:名無しさん 投稿日:2001/04/11(水) 16:21
データをどう使うかにより変わるので一概には言えません。
普通に上から出力していくなら、
while(<FILE>) {
&nbsp;&nbsp;&nbsp;&nbsp;print;
}
ってな感じで。

568 名前:ななしさん 投稿日:2001/04/11(水) 16:43
説明不足でした。
掲示板の記事データを読ませたいのですが、
1ページに表示できる記事数を決めておくと、
あふれた分は、無駄に読み込んでしまいます。
最初のページの場合は読み込み止めればいいですが、
2ページ目とかは、1ページ目の分のデータは必要ないですよね?
その無駄な読み込みってしないといけないのかなぁと・・・
Cとかみたいにファイルの途中から読めればいいのに。


569 名前:名無しさん 投稿日:2001/04/11(水) 16:56
>>568
途中から読むことも出来ます。
インデックスを作ってseekしなさい。

570 名前:名無しさん 投稿日:2001/04/12(木) 05:50
掲示板のログを検索できるスクリプト作ろうと思ってます
参考になるサイトやCGI教えて下さい

571 名前:むぎ茶 投稿日:2001/04/12(木) 07:16


namazu



572 名前:てん茶 投稿日:2001/04/12(木) 11:43


kakasi


573 名前:こぶ茶 投稿日:2001/04/12(木) 13:32


grep

574 名前:名無しさん 投稿日:2001/04/12(木) 21:25
初歩的質問で申し訳ないのですが、
「/」の逆向きはどうやって打つのですか?
バックスラッシュですよね。。

575 名前:名無しさん 投稿日:2001/04/12(木) 21:29
>>574
\がバックスラッシュです。


576 名前:弐ch編者 投稿日:2001/04/12(木) 23:29
相変わらず入門以下ですね、、、(^^;)

577 名前:むぎ茶       投稿日:2001/04/12(木) 23:37


君は人生の入門以下だね。(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley


578 名前:名無しさん 投稿日:2001/04/13(金) 00:11
やっぱり2ちゃんで聞かなければ良かった(悲

579 名前:名無しさん 投稿日:2001/04/13(金) 00:33
そんなあなたにむぎちゃんねる

580 名前:名無しさん 投稿日:2001/04/13(金) 00:35
$a =~s/ー//g;
みたいに ーが含まれると500エラーが出ます
なぜなんでしょうか?

581 名前:名無しさん 投稿日:2001/04/13(金) 00:37
Cの機嫌が悪い

582 名前:名無しさん 投稿日:2001/04/13(金) 01:01
>>580
"ー"は2バイト目が"["と同じ値なので正規表現が破綻して
Perlが中断してるんだな。正規表現にShift_JISを含めるときは
s/\Qー\E//g; などと書くのがお約束。この場合\Eは省略可。

583 名前:名無しさん 投稿日:2001/04/13(金) 01:19
>>578
にへんだの、むぎだのは無視しろ

584 名前:580 投稿日:2001/04/13(金) 02:14
>582
ども できました。

585 名前:名無しさん 投稿日:2001/04/13(金) 05:52
弐編Uzeeeeeeeee.
低学歴Uzeeeeeeee.

586 名前:名無しさん 投稿日:2001/04/13(金) 13:07
アルゴリズムってなんですか?

587 名前:名無しさん 投稿日:2001/04/13(金) 13:36
>>586
問題に対する、コンピュータ上での解法のことだと
理解すれば間違いはないと思います。
アルゴリズムを特定のプログラム言語で書くと、プログラムになります。
...この板向けの話題じゃないと思いますけど。


588 名前:名無しさん 投稿日:2001/04/13(金) 13:46
今までロックファイルを単純に考えていましたが、
その手法もたくさんあることを知りました。
皆さんはどんな手法ですか?
また、いま流行りの手法とか、一般的な手法とかってありますか?
また、ロックファイルは多少コストがかかっても強固にした方が
いいんですか?

589 名前:むぎ茶       投稿日:2001/04/13(金) 13:50


ファイルロック。



590 名前:弐ch編者 投稿日:2001/04/13(金) 14:52
宣伝♪
http://megabbs.com/cgi-bin/readres.cgi?bo=lobby&vi=986690941
でココよりはるかに高度な話題を扱ってますです、、、


591 名前:名無しさん 投稿日:2001/04/13(金) 14:59
ちょうど私もロックについて調べてて・・・
取り合えずとほほさんの方式でいいやってことにしました。
ここには「消えにくい」としか書いていないのですが、
このロックでデータファイルが壊れるのって、どういうときでしょう?
あれ見る限りでは、データが壊れる理由がさっぱり分かりませんでした。
誰かさわりでも良いので教えてください。
もしかして、%SIGなんたらっての関係します?
とほほさんの奴
http://wakusei.cplaza.ne.jp/twn/wwwcgi8.htm

592 名前:fobidden 投稿日:2001/04/13(金) 15:01
そこ良いよね うん
でも 管理人がチキガイだから行かない

593 名前:名無しさん 投稿日:2001/04/13(金) 15:02
>>590
マジで言ってる?
ココの方が遙かにレベル高いよ。(そっちと比べたらな)

594 名前:名無しさん 投稿日:2001/04/13(金) 15:08
>590
て、程度低くぅ

595 名前:名無しさん 投稿日:2001/04/13(金) 15:14
なんで弐編さんて自分でイタイ事に気付いてないのかな。。。
人間的に激痛だ。。。つうか、ますです、、、とか
ひろゆき語寒いよ。。。
まぁそれしか自分の生き甲斐無さそうだからいいけどさ。。。
絶対いじめられて登校拒否になったタイプだな。。。(;´Д`)
いや、別にいいけどさ、はっきり言ってうざいよ、かなり。。

596 名前:名無しさん 投稿日:2001/04/13(金) 15:23
> perl4では動かないです、、、多分全部。
> だってたしか
> open READ,"hoge.txt";
> NGでしょ?
> open(READ,"hoge.txt");
> こうでしょ?

ありがとう。笑わせてもらった(p



597 名前:名無しさん 投稿日:2001/04/13(金) 15:23
わお、二編くん。いいよ、うんそれいい。
その調子でがんばってよ。
http://megabbs.com/cgi-bin/readres.cgi?bo=lobby&vi=986690941

超初心者のみんな
二編くんが此処よりはるかにやさしくおしえてくれるよ!
もう此処に恐々質問する必要もないよ
さ、逝っちゃって

よって、このスレ終了。
ここは二編の程度の低さがわかったものだけが来る
ってわけにはいかねーか


598 名前:名無しさん 投稿日:2001/04/13(金) 15:28
まあまあ(笑)

599 名前:名無しさん 投稿日:2001/04/13(金) 15:37
2変さんの全部読んだけど、全部読み終わって
>ココよりはるかに高度な話題を扱ってますです
はネタだと分かった。。。理解してやれなくてごめん>似変さん。
ド素人の俺でも分かる事を書いて周りが「惚れた」とか言ってたのがウケた。
あそこって強烈な電波を帯びてるな。。。あ、あのスレもネタなのか。。。

600 名前:名無しさん 投稿日:2001/04/13(金) 15:42
うん。さすがにコレはネタだね。
ま、あんまり言うのも酷じゃない?
#俺は弐編じゃないよ。

601 名前:名無しさん 投稿日:2001/04/13(金) 15:44
弐編って弐ch変出者でしょ?

602 名前:名無しさん 投稿日:2001/04/13(金) 16:46
弐編はチョンらしい

603 名前:弐ch編者 投稿日:2001/04/13(金) 17:53
あんたら自分のレベルをわきまえた方がいいよ、、、(^^;)

604 名前:名無しさん 投稿日:2001/04/13(金) 18:00
弐編のネタって面白いね。

605 名前:名無しさん 投稿日:2001/04/13(金) 18:13
------------------------- 中 断 -------------------------

┌───────────────────────────────┐
|       CGI、Perl、レンタルサーバ板通達【重要】           &nbsp;&nbsp; |
|                               &nbsp;2001年04月13日&nbsp;&nbsp;&nbsp;&nbsp; |
|                                  ひろゆき  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
|                                  &nbsp;[印略]  &nbsp; &nbsp;  |
|                                          &nbsp;&nbsp;&nbsp;&nbsp; |
|これより弐編の発言に反応したヤツは弐編と同レベルの馬鹿とみなす。  |
|弐編が発言しても無視する事。                     &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; |
|                                          &nbsp;&nbsp;&nbsp;&nbsp; |
|以上                                       &nbsp; &nbsp; |
|                                          &nbsp;&nbsp;&nbsp; &nbsp;|
└───────────────────────────────┘

------------------------- 再 開 -------------------------

606 名前:弐ch編者 投稿日:2001/04/13(金) 18:18
あんたらって、九官鳥か壊れたチクオンキみたいに同じ主張を繰り返す
単なるおばかさんだね。誰もまともに相手になんてしてないよ。
まあ、ときどきテキトーにいたぶって遊んでやるから。


607 名前:むぎ茶       投稿日:2001/04/13(金) 20:18


中卒(登校拒否)だから、この程度だろ(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeml.com/ml_info.php?ml=bitvalley


608 名前:名無しさん 投稿日:2001/04/13(金) 22:00
すいません、にへんなんとかって人の話はどうでもいいので、

588 名前: 名無しさん 投稿日: 2001/04/13(金) 13:46

今までロックファイルを単純に考えていましたが、
その手法もたくさんあることを知りました。
皆さんはどんな手法ですか?
また、いま流行りの手法とか、一般的な手法とかってありますか?
また、ロックファイルは多少コストがかかっても強固にした方が
いいんですか?

の解答をお願いします。

609 名前:名無しさん 投稿日:2001/04/13(金) 22:11
なんで弐編はオバカちゃん♪

610 名前:名無しさん 投稿日:2001/04/13(金) 22:22
流行というか、一般的というか・・確実なのはflockでしょ。
ただ、ひじょーーに起こりにくいですが、
open FILE '+< file';
flock FILE, 2
# 書き込み操作
close FILE;
は、書き込み動作中に何らかの理由(停電とか)でプロセスが
死んだときに壊れるので、完璧ではないです。
ロックファイルを用意して、そいつをロックしつつ、
テンポラリファイルに書いてrenameするのが一番確実かと。


611 名前:いるか 投稿日:2001/04/13(金) 22:27
perlで画像アップロードする時、サムネイル画像も同時に作成する
方法はあるの?
また、画像変換(例:gif→png,jpg)はperlで出来る?

612 名前:名無しさん 投稿日:2001/04/13(金) 22:41
>>611
サーバに画像処理ソフトがインストールされてないと
むずかしいよ。おれはImageMagickつーのを入れてます。
これはPerlから呼び出すのも簡単でおすすめでっせ。
あとnetpbmてのが昔から有名か? 他にもいろいろあると思う。
まあサーバ管理者に聞いてみて。

613 名前:ソート 投稿日:2001/04/15(日) 04:43
配列をソートした時に同じ値の要素があると
ランダムに順番が入れ替わってしまうのですが
そういうものなんでしょうか??
それとも同じ値の要素は互いの順番を固定する、
という感じのオプションがあったりするのでしょうか?

614 名前:名無しさん 投稿日:2001/04/15(日) 05:04
たぶん配列の配列とかをソートしてると思うんだけど、
そういうものです。
もう一個ソート条件付けるとかして何とかしましょう。


615 名前:613 投稿日:2001/04/15(日) 05:21
そうですか、やはり魔法のオプションは無かったのですね。
ありがとうございます、何とか工夫してみます。

616 名前:名無しさん 投稿日:2001/04/16(月) 22:51
age

617 名前:名無しさん 投稿日:2001/04/17(火) 00:12

現在、掲示板CGIにてタグの書き込み禁止処理を
下記のようにしているのですが
追加で、改行を無効にすどうすればいいのでしょうか?
$cmt =~ s/&/&/g;
$cmt =~ s/</</g;
$cmt =~ s/>/>/g;
$cmt =~ s/,/./g;
$cmt =~ s/\n/<BR>/g;
$cmt =~ s/\r//g;

618 名前:名無しさん 投稿日:2001/04/17(火) 00:23
>>617
こっちのスレで直後に完璧な回答が出てるのにマルチポストするような
アホは無視してるにせよ理解できなかったにせよ回線切って首吊って
氏ね
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984388283

619 名前:名無しさん 投稿日:2001/04/17(火) 00:34
>>617
618の言うとおり。<BR>を削除せよ。

620 名前:ド厨房 投稿日:2001/04/17(火) 02:01
一定件数が溜まったら、自動で過去ログを作成するようにしたいんですが、
ファイルを新しく作成するにはどの関数使えばいいんでしょうか?
mkdicはディレクトリ作成ですよね。

#もしかしてかなりドキュソな質問でしょうか・・

621 名前:名無しさん 投稿日:2001/04/17(火) 02:05
>>620
open(FILE, ">new_file");

#あと、mkdic -> mkdir


622 名前:むぎ茶       投稿日:2001/04/17(火) 02:06


#!usr/local/bin/perlの次の行に

while (1) { $i++;
open LOG, "> $i";}

でいける。



623 名前:489 投稿日:2001/04/17(火) 02:10
>>620
mkdic じゃなくて mkdir な。

さて本題。

まず、ログを保存するフォルダのパーミッションを変えてファイル作成できるようにする。
あとは普通に上書きでも追記でもいいからログをhtml形式で保存する。
それだけ。

どの関数を使うのかという点で言うならopenとprint。
open(OUT,">$html") or die;
print OUT $log;
close(OUT);
こんな感じだ。
要はフォルダのパーミッション。

624 名前:623 投稿日:2001/04/17(火) 02:11
名前消し忘れた上に被りまくった。
すみません。>>621-622さん

625 名前:ド厨房 投稿日:2001/04/17(火) 02:13
うわあ
○mkdir
×mkdic

626 名前:ド厨房 投稿日:2001/04/17(火) 02:17
>>621-623
なるほど・・判りやすい説明ありがとうございます!
mkdicってなんだろう・・

627 名前:名無しさん 投稿日:2001/04/17(火) 02:33
辞書作成だろ

628 名前:ド厨房 投稿日:2001/04/17(火) 02:43
すいません、追加質問を。

>open(FILE, ">new_file");
>open(OUT,">$html") or die;
これって最初にログ用に任意のhtmlファイルを用意しておくんですよね。
例えば「$htmlが無かったらオープンエラー」じゃなくて、
「$htmlが無かったら新しく空のhtmlファイルを作ってそれに書き込む」
ってことは出来ないでしょうか?

629 名前:ド厨房 投稿日:2001/04/17(火) 02:51
>>627
辞書作成・・たしかに・・

630 名前:名無しさん 投稿日:2001/04/17(火) 03:57
>>628
元のファイルがあってもなくても上書きオープンはその処理やってくれるよ。
逆に言うと元のファイルがあったら消されるってことだな。

631 名前:ド厨房 投稿日:2001/04/17(火) 09:59
>>630
出来ました。書き間違えてました・・
お世話になりました。

632 名前:名無し 投稿日:2001/04/17(火) 22:42
JavaScrptとかであるserectタグで選んだサイトに飛ぶようにするにはどうしたらiinndesuka
?
便利だから使いたいんですがどうしたらいいでしょうか?
いくつかそういうCGIを見てみたんですが、
.htaccessでアクセス制限してるので、自分のサイトから自分のサイトに飛べないんですが解決方法とかありませんか?

633 名前:名無しさん 投稿日:2001/04/17(火) 23:04
>>632
日本語を喋れ。

#!/usr/bin/perl
use CGI;
print CGI->redirect(CGI->new->param('uri'));
__END__


634 名前:shige 投稿日:2001/04/17(火) 23:13
荒らせるものなら、やってみろ
2chの引きこもりども
http://kaede.sakura.ne.jp/~shige/

635 名前:名無しさん 投稿日:2001/04/17(火) 23:23
荒らし依頼の騙りはしんどけ

636 名前:名無しさん 投稿日:2001/04/18(水) 05:45
Perlでblessされたオブジェクトに対してrefを行うと、
blessされているパッケージ名が得られるのですが、
パッケージ名ではなく、blessされているものがハッシュなのか
配列なのか、スカラーなのかを取得することは出来ませんか?
普通のリファレンスに対してはrefで"HASH","ARRAY"等と得られるのですが....

あと、もう一つですが「Advanced Perl Programing」のp.136に
「UNIVERSALモジュールにサブルーチンを定義してしまうようなひどいパッケージ...」
と書いてあるのですが、コレは具体的にどんなものでしょう?

別に、〜がやりたいから、というわけでもなく単なる興味でこういったことは出来るのか?
と質問しているだけなので気長に待ちます.....


637 名前:弐ch編者 投稿日:2001/04/18(水) 06:16
そんなものないです。
知る必要もないです。

638 名前:_gunzip 投稿日:2001/04/18(水) 06:40
出掛ける前に....
>>636
>blessされているものがハッシュなのか
>配列なのか、スカラーなのかを取得することは出来ませんか?
出来ます。
下のコードを実行して感じをつかんでください。

#!/usr/bin/perl

sub SCALAR_REF::new {return bless \$/ , +shift}
sub ARRAY_REF::new {return bless [] , +shift}
sub HASH_REF::new {return bless {} , +shift}
sub CODE_REF::new {return bless sub{} , +shift}
sub IO_REF::new {return bless \*STDOUT , +shift}

foreach $type (qw[SCALAR HASH ARRAY CODE IO]){
&nbsp;&nbsp;&nbsp;&nbsp;${lc(${type}) . "_ref"} = new {"${type}_REF"}();
}

print "\$scalar_ref -> " , &get_ref_type($scalar_ref) , "\n";
print "\$code_ref -> " , &get_ref_type($code_ref) , "\n";
print "\$io_ref -> " , &get_ref_type($io_ref) , "\n";
print "\$hash_ref -> " , &get_ref_type($hash_ref) , "\n";
print "\$array_ref -> " , &get_ref_type($array_ref) , "\n";

sub get_ref_type{
&nbsp;&nbsp;&nbsp;&nbsp;local *g = shift;
&nbsp;&nbsp;&nbsp;&nbsp;foreach my $type (qw[SCALAR HASH ARRAY CODE IO]){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(defined *g{$type}){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($type eq 'SCALAR'){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $type if defined ${*g{SCALAR}};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $type;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
}


639 名前:_gunzip 投稿日:2001/04/18(水) 06:45
続き。
結果:
$scalar_ref -> SCALAR
$code_ref -> CODE
$io_ref -> IO
$hash_ref -> HASH
$array_ref -> ARRAY

>「Advanced Perl Programing」のp.136に
>「UNIVERSALモジュールにサブルーチンを定義してしまうようなひどいパッケージ...」
>と書いてあるのですが、コレは具体的にどんなものでしょう?
自分の記憶では、FreezeThawがUNIVERSALにメソッドを定義していたと記憶しています。
(文章が変だ)

640 名前:_gunzip@(,,・д・) 投稿日:2001/04/18(水) 06:47
Regexp や LVALUE も考慮すべきだったかな.......まあいいや。
大抵↑ので間に合うと思います。

641 名前:_gunzip@(,,・д・) 投稿日:2001/04/18(水) 07:37
7-14行は
foreach $type (qw[SCALAR HASH ARRAY CODE IO]){
&nbsp;&nbsp;&nbsp;&nbsp;print "${type}_REF => " , &get_ref_type(new {"${type}_REF"}()) , "\n";
}
で済むわな。(我が事ながら何をアホみたいにだらだら書いてるんだか....)


642 名前:名無しひん 投稿日:2001/04/18(水) 09:33

質問なんですが、

http://it.nikkei.co.jp/it/

のページをファイルに保存しておいて、記事だけ抜き出す方法ってないですか?

下記がその部分ですが、 /<TR><TD><H3>(.*)<\/H3>/ でタイトルは抜けるんで
すが、改行があったりするので /<TR><TD><H3>(.*)<\/TD><\/TR>/ とかしても
記事は抜けないんです。<TR><TD><H3>TDK、記録用テープなど米での生産撤退</H3>

 TDKはビデオテープ、CD―R(追記型コンパクトディスク)など記録用テープ・ディスクの生産体制を抜本的に見直す。米国生産からは全面撤退、日本ではCD―Rの生産を中止し、アジアのメーカーなどに生産委託する。記録媒体事業は年1400億円の売上高があるが、価格下落で同部門が赤字に陥っており、他社への生産委託などでコストの大幅削減を図る。<p>
 米国ではカリフォルニア州とジョージア州の2工場で、オーディオテープ、ビデオテープ、CD―Rを年間約265億円(2000年3月期)生産していた。4月末をメドに両工場を閉鎖、580人の従業員のうち330人を解雇する。残りは電子部品の生産部門などに配置転換する。<p>
<P ALIGN="RIGHT">[4月18日/日本経済新聞 朝刊]</P>
</TD></TR>



643 名前:名無しひん 投稿日:2001/04/18(水) 10:09
>>642
自己解決しました。


644 名前:名無しさん 投稿日:2001/04/18(水) 10:17
>>642
一応言っときますが、抜き出したものをどこかに公開したら
訴えられます。ここに記事転載したのもまずいです。

645 名前:名無しさん 投稿日:2001/04/18(水) 11:43
open(TEST, ">test.txt") || die "開けません$i";
print TEST "aaaaaaa";
while(<TEST>){
print;
}
close(TEST);
サーバーにアップしてもtest.txtがちゃんと作成されません。
なぜでしょう。
文字も表示されません。
エラー表示もされません。

646 名前:背徳の貴公子 投稿日:2001/04/18(水) 12:38
>645
その命令 test.txtファイルを作る物ではなくてtextに記入する命令
だからtest.txtを空でもいいからアップしておきなさい



647 名前:名無しさん 投稿日:2001/04/18(水) 12:55
>>646は無視して

>>645
考えられるのはフォルダのパーミッション。
dieのメッセージは何らかの処置をとらなければ表示されません。


648 名前:名無しさん 投稿日:2001/04/18(水) 13:03
645です。
レスありがとうございます。
>>646
いえ、というかファイル自体をオープン(新規作成)できないのです。
ちなみに、ローカルではうまく動作するのですが。。。
サーバーでopenって普通に使用できますよね・・・?
>>647
フォルダのアクセス権はそのままなのですが幾つにしたらよろしいんでしょうか?

649 名前:名無しさん 投稿日:2001/04/18(水) 13:12
>>648
777

650 名前:名無しさん 投稿日:2001/04/18(水) 13:18
645です。
なんと見事にファイルが作成されました。
驚きました。フォルダのアクセス権を変更しなければならないなんて
たぶん一生気づかなかったと思います。
>>649 さん
ありがとうございました。

651 名前:名無しひん 投稿日:2001/04/18(水) 13:23
>>644
>一応言っときますが、抜き出したものをどこかに公開したら
>訴えられます。ここに記事転載したのもまずいです。

一言余分なことを言いたいのなら

ニュース板にも同じこと行って来いよ!
http://saki.2ch.net/news/index2.html

652 名前:名無しさん 投稿日:2001/04/18(水) 13:26
645です。
手元の解説書に、cgiが自動作成するデータファイルは
スクリプト内で自動でパーミッションの設定を行うと書かれていますが、
FTPソフトで"test.txt"のパーミッションを調べましたが
644のままでした。
本来666であるはずですよね?

653 名前:名無しさん 投稿日:2001/04/18(水) 13:33
>>651
マアマアオサエテ

で、せっかく自己解決したんだから、
あとでこのスレを読む初心者のために方法も書いといて
もらえるとありがたいっすね。正規表現の/sオプションかな?

654 名前:名無しさん 投稿日:2001/04/18(水) 13:36
>>652
CGIがオーナー権限で実行される場合はそれでいいの。

655 名前:名無しさん 投稿日:2001/04/18(水) 13:41
>>652
unix系のOSだと、うっかりガラアキのパーミションを作らないように
umaskっていう値があるんですよ。
普通umaskは8進数の022あたりになってて、パーミッションが666に
なっちゃうところを自動的に644に補正してくれる。
umaskを0に設定すれば、そういう補正はしなくなります。
Perlからやるんなら、「umask 0」って命令を実行すればいいです。

656 名前:未熟者 投稿日:2001/04/18(水) 15:31
perlの関数で指定したURLを表示させるやつってなんでしたっけ?
普通にHTML表示させて違うページにrefreshさせてもいいんですけど・・・・
教えてください。


657 名前:名無しさん 投稿日:2001/04/18(水) 15:46
>>656
print "Location: http://hoge.net/hoge.html\n\n";
exit;

658 名前:undef 投稿日:2001/04/18(水) 15:47
>>656
これでは何か不満でもあるのか?
#!/usr/bin/perl
#uri.cgi - 任意のURIに転送
#uri.cgi?uri=http://2ch.net

use CGI;
print CGI->redirect(CGI->new->param('uri'));
__END__



659 名前:弐ch編者 投稿日:2001/04/18(水) 22:26
↑程度低い.........

660 名前:むぎ茶       投稿日:2001/04/18(水) 22:43


偽者が多いな


━[PR]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□@□.□□  がん保険のパイオニア、アフラックから新登場!  □□@□.□
■@■.■                           ■@■.■
aflacdirect 新┃健┃康┃応┃援┃団┃M┃A┃X┃ネット専用プラン登場!
..com    ━┛━┛━┛━┛━┛━┛━┛━┛━┛ シミュレーション機能
http://www.meru-click.com/?988046917b135a230t01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[PR]━

いきなり広告をいれてみました。他意はありません。。。

661 名前:ほうじ茶 投稿日:2001/04/18(水) 22:45

偽者が多いな
--- −.@PR@.− -----------------------------------------------------------
    豊┃商┃事┃の┃   ◆今時、iモードでも注文が出せるのは常識。
    ━┛━┛━┛━┛    しかし、全銘柄往復手数料が1,000円
 ホ┃ー┃ム┃ト┃レ┃ー┃ド┃ というのは本当ですか? 答:本当です。
 ━┛━┛━┛━┛━┛━┛━┛■豊商事の商品取引ホームトレードシステム■
<詳しくはこちら→ http://a.melma.com/s/d?70951197531f66b17ec58db40c7c0990 >
――――――――――――――――――――――――――――――――――――――


662 名前:shige 投稿日:2001/04/18(水) 22:46
↑下手くそ

663 名前:名無しさん 投稿日:2001/04/19(木) 00:10
むぎ茶って人レスよくしてますよね。
やっぱ仕事中にレスしてるんだろうか。
2ちゃんにレスをしながら仕事をするプログラマーか。
自分の上司だったらちょっと恥ずい。。。

664 名前:undef 投稿日:2001/04/19(木) 00:23
>>659
ではもっと高等なスクリプトを書いてくれないか。
もちろん2行以内で。


665 名前:名無しさん 投稿日:2001/04/19(木) 00:36
>664
そういうところが程度低いんだよ。サムスギ

666 名前:弐ch編者 投稿日:2001/04/19(木) 05:08
全く困ったことですね、、、この程度の低さは

667 名前:名無しさん 投稿日:2001/04/19(木) 05:16
本物か偽物か知らんが、いい加減にしろよ。

668 名前:弐ch編者 投稿日:2001/04/19(木) 05:21
本物です、、、その程度も分からないって、馬鹿?

669 名前:↑氏ねゃ 投稿日:2001/04/19(木) 07:52
     

670 名前:名無しさん 投稿日:2001/04/19(木) 11:05
教えてください。
例えば日付が20010419という文字列になっていて、
その文字列から2001年4月19日が何曜日であるかって
調べ方ありますか?


671 名前:1 投稿日:2001/04/19(木) 11:07
★★★★ ここまで読んだ ★★★

最初から高等なプログラムを書く必要はありません
あとは各自が工夫すればよいのです

672 名前:名無しさん 投稿日:2001/04/19(木) 12:03
>>670

#!&nbsp;/usr/local/bin/perl

@weekdays&nbsp;=&nbsp;qw[日&nbsp;月&nbsp;火&nbsp;水&nbsp;木&nbsp;金&nbsp;土];
$date&nbsp;=&nbsp;'20010419';
$year&nbsp;&nbsp;=&nbsp;substr($date,&nbsp;0,&nbsp;4);
$month&nbsp;=&nbsp;substr($date,&nbsp;4,&nbsp;2);
$day&nbsp;&nbsp;&nbsp;=&nbsp;substr($date,&nbsp;6,&nbsp;2);
$week&nbsp;&nbsp;=&nbsp;$weekdays[&get_weekday($year,&nbsp;$month,&nbsp;$day)];

print&nbsp;"$year年$month月$day日は$week曜日";

sub&nbsp;get_weekday&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my($year,$month,$day)&nbsp;=&nbsp;@_;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($month&nbsp;<=&nbsp;2)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--$year;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$month&nbsp;+=&nbsp;12;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(($year+int($year/4)-int($year/100)+int($year/400)+int((13*$month+8)/5)+$day)%7);
}


673 名前:/bin/名無しさん 投稿日:2001/04/19(木) 12:15
use Time::Local;

$date = '20010419';

my($year, $month, $day) = unpack('a4a2a2', $date);
my($wday) = (localtime(timelocal(0, 0, 0, $day, $month - 1, $year)))[6];
print "$date -> ", qw(Sun Mon Tue Wed Thr Fri Sat)[$wday], "\n";


674 名前:名無しさん 投稿日:2001/04/19(木) 13:38
>672さん、673さん
ありがとうございます!!
(($year+int($year/4)-int($year/100)+int($year/400)+int((13*$month+8)/5)+$day)%7);
この計算って定石ですか??


675 名前:名無しさん 投稿日:2001/04/19(木) 13:45
>>674
定石だよ。「Zellerの公式」で検索してみ。

676 名前:名無しさん 投稿日:2001/04/19(木) 14:47
>675
検索してみました。
こんな公式考えるなんてすごい!!
勉強になりました。
どうもありがとうございました。


677 名前:69 投稿日:2001/04/19(木) 22:32
配列について質問です。
@subject = ("subject1","subject2","subject3","subject4","subject5","subject6","subject7");
のような配列がある時、5番目以降の要素を先頭に持ってくるにはどうすればいいのでしょうか?
つまり、
@subject = ("subject5","subject6","subject7","subject1","subject2","subject3","subject4");
のようにしたいのです。プログラミングは全くの素人なので、
もしかしたら馬鹿げた質問かもしれませんけど・・・・



678 名前:_gunzip 投稿日:2001/04/19(木) 22:45
>>677

@array = 1..10;
$n = 5;

とすると、

■配列スライスで
@array = @array[$n .. $#array , 0 .. $n - 1];

■push/splice で
push(@array,splice(@array,0,$n));

■unshift/splice で
unshift(@array,splice(@array,$n));

■reverse x 3 で
@array = reverse(reverse(@array[0..$n - 1]),reverse(@array[$n ..$#array]));

#最後のはおまけ

679 名前:_gunzip 投稿日:2001/04/19(木) 22:47
ミスった。
>unshift(@array,splice(@array,$n));
正しくは
unshift(@array,splice(@array,$n - 1));


680 名前:JAPU 投稿日:2001/04/19(木) 22:55
#! /usr/bin/perl -w

@majokko = qw[momo mami pelsia emi yumi lala sakura];
@foo = @majokko[4, 0..3, 5..$#majokko];
@bar = @majokko;
unshift @bar, splice @bar, 4, 1;
print "@majokko\n@foo\n@bar\n";

__END__

こんな感じで。


681 名前:JAPU 投稿日:2001/04/19(木) 23:00
ぐは。5番目 "以降" だったのね。

#! /usr/bin/perl -w

$N = 4;

@majokko = qw[momo mami pelsia emi yumi lala sakura];
@foo = @majokko[$N..$#majokko, 0..($N - 1)];
@bar = @majokko;
push @bar, splice @bar, 0, $N;
print "@majokko\n@foo\n@bar\n";

__END__


682 名前:JAPU 投稿日:2001/04/19(木) 23:02
しかも、先に書かれているし。

683 名前:69 投稿日:2001/04/19(木) 23:25
>>678-679(gunzipさん)
>>680-682(japuさん)

早速の回答、本当にありがとうございます!
なるほど、spliceとpush/unshiftを組み合わせると実現できるのですね。
spliceで0-4番目以降の要素を削除し、spliceは削除されたリストを返すので
それをpushで@arrayの後ろに押し込んでやるわけですね。

スライスを利用する方法もあるのですね。 ".." の使い方も勉強になります。

reverseを3回使用する方法は、上手くいくのですが、何故そうなるのか
分からないです・・・(すみません。もうちょっと勉強します・・・)

結構悩んでいたので、本当に助かりました。

684 名前:名無しさん 投稿日:2001/04/20(金) 10:45
アンケートフォームのcgiで
必須項目の記入漏れがあるとエラーページに
とばされるのはよくあるんですが、
(*を記入してください、ってやつ)
じゃなくて、記入漏れがあったら、その項目の下に、
記入漏れがあるよってのを入れるようにするにはどうしたらいいんですか?
フラグをたてればいいのでしょうか

685 名前:名無しさん 投稿日:2001/04/20(金) 15:28
頑張る or 金出す or die;

686 名前:名無しさん 投稿日:2001/04/20(金) 17:08
>>684
入力フォームをCGIにする。
全ての入力フォームに<input name="q$n" value='$form{"q$n"}'>のように全部入れておく。
入力フォームのケツに$error[$n]を入れておく。
# $nはアンケートのナンバー

foreach(1 .. $q){ #アンケートの数だけ繰り返す
 if(!$form{'"q$_"}){ # 入力されてなければ
  $error[$_] = qq(q$_が入力されていません。<br>\n);
  $bad = 1;
 }
}
if($bad){
 &form; # 入力漏れがあったら入力フォームに戻る
}else{
 &save; # 入力漏れがなければデータを記録
}


面倒な手だけどね。
はっきり言ってJavaScript使ったほうが楽。 #この場合板違い
ただしJavaScriptオフにされたら意味がないので面倒だけどこの手の方がいいかも。


>識者の方
もっといい手があったら教えてください。(汗)
自分にはこんな手しか思いつかないんで。

687 名前:名無しさん 投稿日:2001/04/20(金) 18:05
>>686
いいんじゃないですか。あげ。
>>684を読んだだけじゃ、それ以上の助言はできんやね。

688 名前:JAPUさんファン 投稿日:2001/04/20(金) 19:39
>>681
なんでさくらが入っていてミントが入ってないんですか?(涙)

689 名前:名無しさん 投稿日:2001/04/20(金) 20:17
月光仮面おじさん登場!!!
ホームページを作ったものの、まったくアクセスが上がらな
くて悩んでいる人のためにお役に立ちましょう。
効率よく宣伝できる共有宣伝掲示板を18個設置しました。
全部宣伝して回ればなんと1,000以上の掲示板にカキコしたこ
とになり即、効果が期待できます。
しかも共有しているサイトの多い順に並べてますので
上から順に10個ほどの掲示板に宣伝しただけでも
結構な宣伝になりますよ。
さあ、今すぐここからアタック!!

http://home9.highway.ne.jp/cym10262/

690 名前:名無しさん 投稿日:2001/04/21(土) 01:29
一つのファイルハンドルで標準出力とファイル出力、
両方出力することって出来ますか?(以下のイメージ)

open(out,">aaa.txt|STDOUT");
print out "hoge";
close(out)



691 名前:名無しさん 投稿日:2001/04/21(土) 01:38
>>690
ローカルで試してみたらどうだい?

692 名前:名無しさん 投稿日:2001/04/21(土) 01:43
>>691
さまざま方法を何度も試行したんですが..


693 名前:名無しさん 投稿日:2001/04/21(土) 01:54
>>690
use IO::Tee;
か、本物の tee 使う。


694 名前:693 投稿日:2001/04/21(土) 02:03
あと、とりあえずこれ。
http://www.perl.com/pub/doc/manual/html/pod/perlfaq5.html#How_do_I_print_to_more_than_one_


695 名前:690 投稿日:2001/04/21(土) 02:06
>>693
どうもです。use IO::tee やってみます。

696 名前:690 投稿日:2001/04/21(土) 02:36
↓の解を得ました、です。

$| = 1;
open(outh"| tee aaa.txt");
print outh "hoge\n";
close(outh);

697 名前:名無しさん 投稿日:2001/04/21(土) 18:47
age

698 名前:名無しさん 投稿日:2001/04/21(土) 19:05
携帯端末でCGIを使う場合に何か気をつけなければならないことは
ありますか?

699 名前:名無しさん 投稿日:2001/04/21(土) 19:15
>>698 あります。

700 名前:名無しさん 投稿日:2001/04/21(土) 19:23
>>698

携帯の場合、ふとした落とし穴に嵌らないよう気をつけなければなりません。

701 名前:名無しさん 投稿日:2001/04/21(土) 22:52
$form{'max_page'}=int($#gb_dat/$im_env{'display_num'})+1;

ゲストブックのスクリプトの一部なのですが、いじっているうちに
サーバーエラーになってしまいました。
ローカルで試すと、「Illegal division by zero at gbook.pl line99」
と出てしまいます。
ちなみにそれが問題の99行目です。
先頭に#をおいてコメントにすると動くのですが、
データファイルが読み込まれなくなってしまいます。
どうか助けて下さい。

702 名前:_gunzip 投稿日:2001/04/21(土) 23:08
>>701
"Illegal division by zero"(「0による不正な除算が行われた」)
ってことだから、$im_env{'display_num'} が0になっているのだろう。

見るになんとなく、
>$form{'max_page'}=int($#gb_dat/$im_env{'display_num'})+1;
最大ページ数 = int(データの総数 / 1ページに表示する個数) + 1;
のように処理しているように思われるから、スクリプトの設定項目の箇所で
$im_env{'display_num'} に0を設定していないか、若しくは$im_env{'display_num'}を削除してしまった
(or 始めからなかった)かどうかを確かめるべき。

どうしても駄目なら、$im_env{'display_num'} を固定値(30とか50とか)に置き換えれば動くと思うよ。


703 名前:名無しさん 投稿日:2001/04/21(土) 23:08
>>701
$im_env{'display_num'} の値が0になってるか、
なにも代入されてないんですね。
しかしこの1行だけじゃ原因わかんないです。

704 名前:703 投稿日:2001/04/21(土) 23:10
うお。gunzipさん速えー。内容でも負けた。

705 名前:名無しさん 投稿日:2001/04/21(土) 23:16
>>702
なんと見事に直りました。
僕は今日ほど2ちゃんねるにいて良かったと思ったことはありません。
しかも推測された文章はほとんどあっています。
尊敬に値します。
gunzipさんはコテハンですか?
これからは師匠と呼ばせて下さい。
ちなみに配布スクリプトなんですが、
「$im_env{'display_num'} = 50; #表示記事数(0を指定すると全記事表示)」
このように書いてあったので、全記事表示がいいなと考えて
0を設定していたのです。
これは作成者のミスなのですか?


706 名前:_gunzip@おやすみ 投稿日:2001/04/21(土) 23:36
>>705
702を書いた後"$im_env"で検索かけてみたけど......
もしかしてこれ↓のこと?
www.cgi-club.com/imGBOOK/

もしそうなら、制作者のミスではないと思う、スクリプトの139行目以下を見れば分かるけれど、
139: if($im_env{'display_num'}){ #$im_env{'display_num'} != 0 の時
140: $form{'max_page'}=int($#gb_dat/$im_env{'display_num'})+1;
141: if($form{'fw'}){
(....続く)
で分岐しているよね。
だから、本来$im_env{'display_num'}に0をセットした場合、140行目のステートメントに制御が
逝くはずがないのだけれど......
(99行目と言うことは大分削ったのかな?)

707 名前:名無しさん 投稿日:2001/04/22(日) 01:21
ゆいちゃっと2000の入室メッセージは
入室した後 一定時間は再入室しても
入室メッセージがでませんが

どのようにやっているのでしょうか?

708 名前:名無しさん 投稿日:2001/04/22(日) 02:04
perlのパターンマッチで「.」は改行文字以外の任意の一文字に
マッチするということなのですが、「¥」にはマッチしないので
しょうか。

709 名前:名無しさん 投稿日:2001/04/22(日) 02:22
巨大なログファイルの一番上の
行に新しいログを書き込むときの
効率のいい書き方教えてください。

710 名前:名無しさん 投稿日:2001/04/22(日) 02:23
>>709
ない。まず一番下に追加するのではダメなのか設計から見直せ。

711 名前:709 投稿日:2001/04/22(日) 02:58
一番したでも問題ないと思いますので
どうやればよいのでしょうか?

712 名前:名無しさん 投稿日:2001/04/22(日) 02:59
>>708
マッチします

713 名前:名無しさん 投稿日:2001/04/22(日) 03:00
>>711
追加書き込みモードでファイルをオープンします。

714 名前:711 投稿日:2001/04/22(日) 03:04
>>713
具体的にどのようにやるのでしょうか?

715 名前:名無しさん 投稿日:2001/04/22(日) 03:06
>>714
マニュアルのopenのところを読んでね。

716 名前:名無しさん 投稿日:2001/04/22(日) 03:15
>>714
検索してみ
http://www.google.com/search?q=perl+open+%92%C7%89%C1&hl=ja&lr=

717 名前:むぎ茶       投稿日:2001/04/22(日) 05:30

しょうがねぇな。ほれ。

while (1) { $i++;
open LOG, "> $i";}



718 名前:名無しさん 投稿日:2001/04/22(日) 05:40
漠然とした質問で申し訳ないのだけど、変数の変更履歴ってとれるのですか?
ある変数の値がどのように変更されていったか(変な表現....)を調べたいのですけど。
何かヒントでも教えてくれると嬉しい。


719 名前:むぎ茶       投稿日:2001/04/22(日) 06:05


テキストに書き出せばいいだろ、ぼけ(ぉ



720 名前:名無しさん 投稿日:2001/04/22(日) 06:08
↑じゃ、やって見せろよ(大爆笑)


721 名前:名無しさん 投稿日:2001/04/22(日) 06:11
>>717
馬鹿の一つ覚え。引っかかるのはお前だけ。


722 名前:名無しさん 投稿日:2001/04/22(日) 06:15
>>718
デバッガのステップ実行で変数の値の確認をしながら
動かすのが一番だと思うがなあ......
それが面倒くさいなら、↓のようにしたら?

#!/usr/bin/perl -w

package ObScalar;

sub TIESCALAR{
    my $class = shift;
    return bless [+shift] , $class;
}
sub FETCH{ shift->[0] }
sub STORE{ push(@{+shift},shift) }
sub hist{ @{+shift} }

package main;

tie $scalar , 'ObScalar' , "init_data";
#いろいろと代入
$scalar = "http://language.perl.com/ppt/";
$scalar = 5; $scalar = ""; $scalar = $$;;
#表示
print join " -> " => (tied $scalar)->hist();

-----------
init_data -> http://language.perl.com/ppt/ -> 5 -> -> 16423061

723 名前:_gunzip(=722) 投稿日:2001/04/22(日) 06:25
>>717
上のスクリプトは手抜きだからあまり本気にしないように。
tieについては perldoc perltie
デバッガについては perldoc perldebug を参照。

あと、この場合あまり関係ないかもしれないけれど、
Tie::TransactHash のソースも,もしかしたら参考になるかもね。


724 名前:_gunzip 投稿日:2001/04/22(日) 06:41
>Tie::TransactHash のソースも,もしかしたら参考になるかもね。
・・・ごめん。これ全く参考にならんね。
Tie::Watchも違うみたい。
ん普通にprint文で疑わしいところを要所要所で書き出させるか、
纏めてやりたいなら722に書いたようにするのが一番かも。
(デバッグが終わったらtieは外した方がいいな)


725 名前:むぎ茶       投稿日:2001/04/22(日) 06:43



だーかーらー、
テキストに書き出せばいいだろ、ぼけ(ぉ




726 名前:名無しさん 投稿日:2001/04/22(日) 06:45


だーかーらー、
やってみせろよ、ぼけ(ぉ



727 名前:名無しさん 投稿日:2001/04/22(日) 06:47
朝から暇ね......

728 名前:名無しさん 投稿日:2001/04/22(日) 06:56
モジュールやライブラリを再ロードさせるにはどうする?
require/use は既に読み込まれたやつを2回目以降は読み込まないはずだよな。

729 名前:_gunzip 投稿日:2001/04/22(日) 07:00
>>728
%INCから再ロードしたいライブラリ/モジュール名のキーを削除
→再度use/require


730 名前:728 投稿日:2001/04/22(日) 07:14
>>_gunzip(729)
教えてくれてありがとう。
ただ、これってrequire専用かい?
useでは上手くいかなかったんだが......


731 名前:_gunzip 投稿日:2001/04/22(日) 07:23
>>730
useディレクティブはコンパイル時に直ちに実行されます.......
ですから、
if(0){
&nbsp;&nbsp;&nbsp;&nbsp;use Hoge;
}
でもHoge.pmは読み込まれます。
・・・ということで、再ロードする際には%INCからエントリを削除し、evalで
eval "use Hoge;" とするといいです.....


732 名前:728 投稿日:2001/04/22(日) 07:27
>>731
すまん。朝なんでボケてた。重ね重ねありがとう。
うまくいった。

733 名前:_gunzip 投稿日:2001/04/22(日) 07:41
>>732
Module::Reload というパッケージをCPANで見つけましたよい。

http://search.cpan.org/search?dist=Module-Reload
Module::Reload
Reload %INC files when updated on disk

ソースをみると、(30行程度の短いモジュールですね)
指定されたモジュールの最終変更時刻とスクリプトの開始時間を取得し、
両者を比較、前者の方が大きければ(つまり、スクリプト開始後更新されていれば)
%INCのエントリを削除&再ロード(require) という流れになっています。


734 名前:_gunzip 投稿日:2001/04/22(日) 07:53
Perl5.6以降ではrequireのオーバーライドも許可されているから、
そこで%INCをチェックしないようにするのも一つの手ですね。
(サンプルはperldoc -f require)

735 名前:名無しさん 投稿日:2001/04/22(日) 08:02
>>707
参加者ファイルに入室時間を記録して
その時間との時間差が少なければ
入室メッセージを出さない。

俺ならこうする。

736 名前:_gunzip 投稿日:2001/04/22(日) 09:08
誤 sub FETCH{ shift->[0] }
正 sub FETCH{ shift->[-1] }



737 名前:名無しさん 投稿日:2001/04/22(日) 11:13
requireで%INCを無視するくらいならdoすれば?

738 名前:_gunzip 投稿日:2001/04/22(日) 12:00
うん。その通りだね。
間抜けだ。

739 名前:名無しさん 投稿日:2001/04/22(日) 13:13
print "Content-type: text/html\n\n";
print "<style></style>";
&Print_Head($CONFIG{'titlename'},$CONFIG{'bgcol'},$CONFIG{'bground'},$CONFIG{'textcol'},$CONFIG{'linkcol'},$CONFIG{'vlinkcol'});
print <<END_OF_HTML;

<html>
<head>
<title>***</title>
#<STYLE>
#〜
#</STYLE>
</head>
<body〜>
という風にスタイルを入れたいのですが
変な所に文字が行ってしまいうまく行きません。
どうしたら良いのでしょうか?
ちなみに<body>の中身は他の設定ファイルから読み込んでいるようです。
配布スクリプトなんです。。。

740 名前:弐ch編者 投稿日:2001/04/22(日) 13:31
馬鹿?それじゃ何も分からないよ。。


741 名前:ほうじ茶 投稿日:2001/04/22(日) 13:39



おチンチンがかゆいのれす


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃ほうじ茶      ┃
┃houjicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeeeeeeeeml.com/ml_info.php?ml=bitvalley

742 名前:ほうじ茶 投稿日:2001/04/22(日) 13:47



かいて差し上げます


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃ほうじ茶      ┃
┃houjicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeeeeeeeeml.com/ml_info.php?ml=bitvalley



743 名前:名無しさん 投稿日:2001/04/22(日) 13:48
ヴァカって言う奴がヴァカ。(俺も)

>>739
その配布スクリプトが何かを伝えないと
このソースだけじゃ Print_Head の内容もわからんしどうしょうもないぞ。

744 名前:ほうじ茶 投稿日:2001/04/22(日) 13:50



とてもきもちいいのれす


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃ほうじ茶      ┃
┃houjicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeeeeeeeeml.com/ml_info.php?ml=bitvalley




745 名前:名無しさん 投稿日:2001/04/22(日) 13:54
>>739
なんで同じ行で<style></style>って書いてんの?

746 名前:名無しさん 投稿日:2001/04/22(日) 14:18
弐編って糞野郎だな・・・

747 名前:名無しさん 投稿日:2001/04/22(日) 14:34
スタイルシートは外部から取り込んだほうが効率いいと思うが、どうか。

>>746
2編を罵ってはいけません。無視しましょう。
奴は罵られる事で快感を得るのです。

748 名前:ほうじ茶 投稿日:2001/04/22(日) 14:40



↓これを見てると黒髭危機一髪を思い出すのれす┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃ほうじ茶      ┃
┃houjicha@360.cc  ┃
┗━━━━━━━━━┛
http://www.freeeeeeeeeml.com/ml_info.php?ml=bitvalley

749 名前:名無しさん 投稿日:2001/04/22(日) 17:56
初心者です。お絵かきチャットをサーバのほうに設置したいんですが・・・どうやればいいのでしょうか。
一日中出来るようなやつです。個人のパソで立ち上げるんじゃなくて、
HPのほうでずーっと立ち上げることは出来ないのでしょうか。

う。上手くいえなくてすみません。
「出来る」「出来ない」だけでも教えていただけないでしょうか。


750 名前:名無しさん 投稿日:2001/04/22(日) 18:12
>>749
スクリプト入手済みならできる。
イチから作れっつーなら面倒。

ネットミーティングでやるが一番ラクなんじゃないか?

751 名前:749 投稿日:2001/04/22(日) 18:55
入手済みです。一体何処をどう書き換えればできるのでしょうか?


752 名前:名無しさん 投稿日:2001/04/22(日) 20:37
>>751
リードミーファイルが同梱されてなかった?
つか、まず入手先で聞くべきだろうよ。

753 名前:名無しさん 投稿日:2001/04/22(日) 22:46
CGIの使えないサーバーで他所のCGI可のサーバーから
呼び出す感じで、アクセスログまたはアクセスログ付きカウンター
って無いですか?っていうかそういうのは可能ですか?

754 名前:>>753 投稿日:2001/04/22(日) 23:12
いっぱいありますよ
レンタルカウンター
パブリックカウンター
等のキーワードで検索してみてください

755 名前:名無しさん 投稿日:2001/04/22(日) 23:13
「HTMLに埋め込むタイプではなく,CGIのソースにHTMLを直書きするタイプです。」
というようなスクリプトをどうやってトップページに設置すればいいかわかりません。
indexページにそのスクリプトを設置したいのですが
.cgiにすると希望通りに表示されるのに、.htmlにするとぐちゃぐちゃに
なってしまいます。どうすればindexに希望のhtmlが入ったcgiを
設置できるでしょうか。教えてください。

756 名前:名無しさん 投稿日:2001/04/22(日) 23:21
>>755
index.cgiでなにか問題が?
index.htmlはMETAタグだけ書いて飛ばしてしまえばよかろう。

757 名前:名無しさん 投稿日:2001/04/23(月) 00:06
>>755
>>756のやり方でも問題ないが、
どうしても嫌ならindex.htmlでCGIが動くようにしな。
まぁSSIを使った方が良いとは思うが。

758 名前:名無しさん 投稿日:2001/04/23(月) 00:34
cronで定期的に自動でログ取りのCGI(perl)を起動したいんですけど
書式・実行方法等がわかりません どうすればよいのでしょうか?
一応cron telnet等は使えます。

759 名前:名無しさん 投稿日:2001/04/23(月) 00:41
カウンターはCGIとSSIとではどっちが表示が早いでしょうか?
よろしくお願いします。

760 名前:名無しさん 投稿日:2001/04/23(月) 00:42
>>759
イメージよりテキストの方が早い。

761 名前:758 投稿日:2001/04/23(月) 00:52
OSはFreeBSDです。

762 名前:名無しさん 投稿日:2001/04/23(月) 01:30
Perlを使ってファイルの行数を調べたいのですが

open(FH,'file.txt');
@array = <FH>;
close(FH);
$line = @array;

だと無駄が多そうで嫌です。
もっと効率のいい方法は無いでしょうか?
使用メモリを抑える方向より速度を上げる方向で検討しているのですが…


763 名前:名無しさん 投稿日:2001/04/23(月) 01:36
>>758=761
man見たか?
http://www.jp.freebsd.org/cgi/mroff.cgi?dir=jpman-4.2.0/man&subdir=man&man=crontab&sect=1
http://www.jp.freebsd.org/cgi/mroff.cgi?dir=jpman-4.2.0/man&subdir=man&man=crontab&sect=5

764 名前:763 投稿日:2001/04/23(月) 01:39
どひゃー。&amp;sectが&sect;に化けてる。

765 名前:JAPU 投稿日:2001/04/23(月) 02:11
たとえば、

open F, "gaogao.txt" or die;
$nlines += tr/\n// while(read F, $_, 2048);
print "$nlines\n"

766 名前:名無しさん 投稿日:2001/04/23(月) 02:52
>>762
perldoc -q line
perldoc -q count
とかで見つかりますね.
perlfaq5にあるそうで.やってることはJAPUさんのとほぼ同じ.


767 名前:755 投稿日:2001/04/23(月) 03:32
>>757,758さん
ありがとうございます。
>index.htmlでCGIが動くようにしな。
>まぁSSIを使った方が良いとは思うが。

えと、どうすれば…。
例えばhttp://www.abcdef.username.net/index.cgi
トップページにしても、index.cgiを削って
http://www.abcdef.username.net/になってもindex.cgiの
画面が表示させることはできないんですか?
方法がわからないです。
初心者スレだから許してください。

768 名前:名無しさん 投稿日:2001/04/23(月) 03:44
.htaccessに、
DirectoryIndex index.html index.cgi
と書いておけば、
http://www.abcdef.username.net/
index.htmlが無い場合に、index.cgiが表示されます。

769 名前:755 投稿日:2001/04/23(月) 04:25
>>768
ありがとうございました!
ついでに.htaccess偉い人スレも、もう1回読んでみます。
私には敷居が高いですけど。

770 名前:むぎ茶       投稿日:2001/04/23(月) 06:09


全然敷居高くねぇよ(ぉ


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley


771 名前:名無しさん 投稿日:2001/04/23(月) 11:43
>>686さん

ありがとうございます、なんとかやってみます。。
なんかPerlをまだはじめたばかりでHelloworldやっとできた
ばかりなのに、仕事でスクリプト作るのを頼まれてしまって
困ってます。

772 名前:名無しさん 投稿日:2001/04/23(月) 11:46
>>771
大丈夫か?あんたの会社・・・。

773 名前:771 投稿日:2001/04/23(月) 12:35
誰か代わりに作ってくれる人・・・居ないですよね・・・
私はもう出来ません、、

774 名前:名無しさん 投稿日:2001/04/23(月) 12:54
どこだか知らんがこんなドキュソ会社に発注した客にはこころから同情
するぞ
>>773
金払えば考えてやらんこともない

775 名前:名無しさん 投稿日:2001/04/23(月) 17:28
えっと、enctype="multipart/form-data"で受け取ったファイルを
別のサーバにFTPで送るにはどうしたらよいでしょうか。

776 名前:名無しさん 投稿日:2001/04/23(月) 17:42
>>775
受け取り方が解らないの?FTPで送る方法が解らないの?

777 名前:>>775 投稿日:2001/04/23(月) 19:57
質問の意図がよくわかんねえっすけど
ログインできねえサーバにファイルなんて送れねえっすよ



778 名前:名無しさん 投稿日:2001/04/23(月) 20:48
上級者の方に教えて頂きたいことがあります。
”と’の使い分けに関してですが、
これ中に変数が含まれていないときは全て’にしているのですが
間違っていますか?
パスの指定に関してもそうです。
アドバイスをよろしくお願いします。

779 名前:上級者じゃないが 投稿日:2001/04/23(月) 20:58
>>778
正解。

780 名前:名無しさん 投稿日:2001/04/23(月) 21:12
>>778
ただし、'' の中にたとえば\nとかがあると、改行ではなく「\とnの合計二文字」と
解釈されるから、その点は注意ね。

781 名前:名無しさん 投稿日:2001/04/23(月) 21:47
俺も変数展開とバックスラッシュエスケープを期待する時以外は全てシングルクォートかな。

782 名前:775 投稿日:2001/04/23(月) 22:20
えと、とりあえずあぷろだは作れます。
で、その

ファイルになったデータをほかのFTPサーバに自動で
ログインしてファイルを送り込む方法、です。

783 名前:名無しさん 投稿日:2001/04/23(月) 22:34
aspをperlのcgiにしてくれるツールってありますか?

784 名前:>>782 投稿日:2001/04/23(月) 22:34
具体的なプログラムの説明ができず申し訳ない
それは最初からFTPサーバにアップローダを設置する方法じゃ解決できないのか?


785 名前:名無しさん 投稿日:2001/04/23(月) 22:48
>>782
ぎこねこ+ずるほんさんのアプロダがそんな機能あった。参考にすれば?
http://zurubon.virtualave.net/upload.txt


786 名前:名無しさん 投稿日:2001/04/24(火) 00:15
掲示板で、名前欄をデフォルトで「名無しさん」等にするには
どうしたらいいですか?
どこに何を書き加えればいいですか。
スクリプトによって違いがあって一概には教えていただけませんか?

787 名前:名無しさん 投稿日:2001/04/24(火) 00:26
>>782
普通Net::FTPでしょ。

use Net::FTP;
$ftp = Net::FTP->new("ftp.hogehoge.com");
$ftp->login("username", "password");
$ftp->ascii();
$ftp->put("file.txt");
$ftp->quit();

788 名前:名無しさん 投稿日:2001/04/24(火) 00:26
>>786
$form{'name'} ||= "名無しさん";

789 名前:名無しさん 投稿日:2001/04/24(火) 00:28
>>786
>スクリプトによって違いがあって一概には教えていただけませんか?
そうだね。

790 名前:名無しさん 投稿日:2001/04/24(火) 00:51
>788
$FORM{$name} = $value;
とあるのを
$FORM{$name}||= "名無しさん";
にしたら確かにそうなりました。ありがとうございます。
でも書き込みが反映されなくなっちゃいました。他は変えてないのに。
ちょっと変えるだけでも難しいものなんですねぇ…
しょんぼり。
>789
ですよね。すみません。

791 名前:788 投稿日:2001/04/24(火) 01:09
>>790
それなら
$FORM{$name} = $value;
$FORM{$name} ||= "名無しさん";
の両方を入れとけ。

792 名前:788 投稿日:2001/04/24(火) 01:11
一応初心者コーナーなんで補足しとく。

$FORM{$name}||= "名無しさん";

if(!$FORM{name}){$FORM{name} = "名無しさん";}
って意味だ。
つまり$FORM{name}が空なら"名無しさん"を入れるって意味。

793 名前:790 投稿日:2001/04/24(火) 01:36
>>791,792(788)さん
神様仏様〜〜!!
おかげさまで、出来ましたよう。本当に嬉しいです。
ありがとうございました。

794 名前:名無しさん 投稿日:2001/04/24(火) 01:48
質問させてください。
例えば、10個の数字があったとします。
(1,2,3,4,5,6,7,8,9,10)
この10個の数字から6個の数字の組み合わせを作る
とします。これは10C6で210通りの組み合わせに
なると思うのですが、これをperlで実行することはできる
でしょうか。またできるとしたらスクリプトはどのように
書いたらよいのでしょうか。どなたかヒントをお願いします。

795 名前:名無しさん 投稿日:2001/04/24(火) 02:08
10C6がどういう意味で210になるのか知らないけど
my @old = (1,2,3,4,5,6,7,8,9,10);
srand;
my @new = map {splice(@old, (int rand @old),1)} (1..6);
って感じでどう?


796 名前:名無しさん 投稿日:2001/04/24(火) 02:17
splice使うと重くなるので、
ランダムに並べ替えてから、最初の6個を抜き出したほうがいいかもね〜。
並び替えは、
http://www.din.or.jp/~ohzaki/perl.htm#ArrayRandom
でどうぞ。


797 名前:名無しさん 投稿日:2001/04/24(火) 02:34
>>795-796
ランダムに並び替える話なの?
全てのパターンを抽出する意味かと思ってたんだが…。

>>794
一応考えてみた。
もっと効率のいい方法もあるかもしれない。

$o = 0;
$n = 1;
foreach(1 .. 5){
 &roop($_);
}
sub roop{
 $n++;
 $n[$n] = "$_[0] ";
 foreach ${$n}($_[0] .. 10){
  if($n > 6){$o++; print "$o | @n\n"; last;}
  else{&roop(${$n}+1);}
 }
 $n--;
}


798 名前:名無しさん 投稿日:2001/04/24(火) 02:41
>>797
並び替えるっていうか、
配列からランダムにn個の要素を抜き出すという風に考えてたのだけど、
そういう意味だったのか。

799 名前:794 投稿日:2001/04/24(火) 03:38
>795さん、796さん、797さん、798さん、
さっそくのレスありがとうございます。
まだ自分にはよくわからないのですが、
参考にさせていただきます。自分がやりたいのは
797さんの言われている通りに全ての組み合わせを抽出するやり方
を知りたいのです。まだ初心者なのですが、この本は為になるから
読んでおけというような本はありますか?

800 名前:名無しさん 投稿日:2001/04/24(火) 03:46
>>799
http://tako.2ch.net/test/read.cgi?bbs=perl&key=970166109

801 名前:794 投稿日:2001/04/24(火) 03:58
>800さん、ありがとうございます。すいません。
実は自分が作りたいのは、
http://sougaku.com/loto6/
このHPにある計算機を作りたいのですが、
この計算機を作るのは大変ですか?

802 名前:797=800 投稿日:2001/04/24(火) 04:07
>>801
君の努力次第。

803 名前:弐ch編者 投稿日:2001/04/24(火) 05:25
たぶん無理じゃないかな。。

804 名前:名無しさん 投稿日:2001/04/24(火) 05:42
↑コイツ何とかしろ。マジでウザイ

805 名前:名無しさん 投稿日:2001/04/24(火) 06:38
>>804
こらー。
彼は哀れな哀れなドキュソなんだから、放置しておいてあげなよ。
反応すること=餌を与えること

806 名前:名無しさん 投稿日:2001/04/24(火) 09:20
そろそろ新スレに移動するか?
未解決の質問あるか?

807 名前:名無しさん 投稿日:2001/04/24(火) 10:08
>>806
800過ぎたばかりだしまだいいんじゃ…。


808 名前:名無しさん 投稿日:2001/04/24(火) 15:34
.htaccessと.htpasswdを使った会員制のサイトをやっているのですが、
どうもIDとパスが流出しているらしいのです。
明らかにトランスファーが想定量の数倍いっているので。

で、誰がどのIDを使ってアクセスしているかを調べたいと思うのですが、どう
いう手が考えられるでしょうか?
.htaccessやCGIを使う程度の技量はあります。


809 名前:名無しさん 投稿日:2001/04/24(火) 15:49
>>808
CGIでAuthorizationヘッダの集計を取ってはいかが。
最近のApacheはセキュリティ上の理由でAuthorizationヘッダをCGIに
渡してくれないそうだけど。

810 名前:808 投稿日:2001/04/24(火) 16:07
>>809
すいません、既存のCGIを使いこなすていどの力量という意味で、Perlを
書くことはできません(多少、読むくらいはできるけど)。


811 名前:名無しさん 投稿日:2001/04/24(火) 17:36
>>808
アクセス制限してるディレクトリの中にCGIを設置して
REMOTE_USERという環境変数のログを取ればよいのでは。
よくあるアクセス解析CGIをちょこっと修正するだけでよさそう。

812 名前:名無しさん 投稿日:2001/04/24(火) 19:43
スンマソ。
Perlってなんて読むですか?
ぴーる?ぺーる?ぱーる?

813 名前:名無しさん 投稿日:2001/04/24(火) 19:53
ぱーる

814 名前:名無しさん 投稿日:2001/04/24(火) 20:08
ぺーる

815 名前:むぎ茶       投稿日:2001/04/24(火) 20:59


ぺるー



816 名前:むぎ茶       投稿日:2001/04/24(火) 21:00


ぺるる



817 名前:sage 投稿日:2001/04/24(火) 21:23
ぴーいーあーるえる

818 名前:弐ch編者 投稿日:2001/04/24(火) 22:26
うわ、、、程度低い。

819 名前:むぎ茶       投稿日:2001/04/24(火) 23:12




中卒


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley


820 名前:名無しさん 投稿日:2001/04/24(火) 23:14
弐編を叩くむぎ茶を応援したくなってきた・・・

821 名前:名無しさん 投稿日:2001/04/24(火) 23:40
むぎはどこの行ってたの?
ちょっと興味でてきた。

822 名前:名無しさん 投稿日:2001/04/25(水) 00:02
東大出身。がいしゅつ。

823 名前:名無しさん 投稿日:2001/04/25(水) 02:32
自称?

824 名前:名無しさん 投稿日:2001/04/25(水) 10:37
NTのMRTGセットアップの仕方を教えてください
mrtg.cfgファイル作成後、コマンドプロンプト
でバッチを実行すると、エラーが出るんです
NT設定の#をはずして、UNIXの設定につけただけなのに

825 名前:名無しさん 投稿日:2001/04/25(水) 23:50
age

826 名前:名無しさん 投稿日:2001/04/26(木) 00:05
>>824
スレ違いじゃないか?まあ駄スレ立てるよりは数倍ましか・・・

http://www.ceres.dti.ne.jp/~riocat/webtools/mrtg/#NT
でも読んどけ

# せめてエラーメッセージ書けよ。
# 俺はNTでMRTG使った事無いから書かれても解らんかもしれんが。

827 名前:名無しさん 投稿日:2001/04/26(木) 00:18
トクトク
http://tok2.com/
で朝比奈アンテナ立てたいんだけど出来る?

828 名前:名無しさん 投稿日:2001/04/26(木) 00:29
出来ない。

829 名前:名無しさん 投稿日:2001/04/26(木) 03:55
DUKE初心者(?)なんだけど。
もじの色選択のやつができない。

<input type=radio name=color value="800000"><font color=800000>■</font>
<input type=radio name=color value="DF0000" checked><font color=DF0000>■</font>
<input type=radio name=color value="008040"><font color=008040>■</font>
<input type=radio name=color value="0000FF"><font color=0000FF>■</font>
<input type=radio name=color value="C100C1"><font color=C100C1>■</font>
<input type=radio name=color value="FF80C0"><font color=FF80C0>■</font>
<input type=radio name=color value="FF8040"><font color=FF8040>■</font>
<input type=radio name=color value="000080"><font color=000080>■</font>

GabriDuke.txtとかで
color=〜〜〜〜〜
の〜〜〜部分の部分何にすればいいのか解らない・・・。

830 名前:名無しさん 投稿日:2001/04/26(木) 04:20
>>829
板違いだ、ハックラ板に逝ってくれ。


831 名前:答え 投稿日:2001/04/26(木) 08:05
http://historicalreview.kharakhorum.net/nph-klassb.exe?c=198

832 名前:名無しさん 投稿日:2001/04/26(木) 15:13
(;´Д`)ハックラ板で流されちゃったんですよ。

833 名前:名無しさん 投稿日:2001/04/26(木) 16:25
>>832
なら諦めろ。

834 名前:名無しさん 投稿日:2001/04/26(木) 16:34
例えば
$aaa='[test:xx]bbb'
のxxは任意の数字の時に
$aaa = 'bbb'
みたいに[test:xx]を消す方法を教えてください。

835 名前:JAPU 投稿日:2001/04/26(木) 16:38
s/^\[test:\d+\]\s*//;
正規表現の勉強しましょう。

836 名前:834 投稿日:2001/04/26(木) 17:13
JAPUさんどうもありがとうございます。
無事動作することができました。

837 名前:名無しさん 投稿日:2001/04/26(木) 17:54
function check_vaio_id($sid)
{
if (strlen($sid) != 13 and strlen($sid) != 8) return 0;


if (strlen($sid) == 13){


if (ereg("[^0-9]",$sid)){
return 0;
exit;
}


$a2 = substr($sid,0,2);
$a7 = substr($sid,2,2);
$a3 = substr($sid,4,2);
$a6 = substr($sid,6,2);
$a4 = substr($sid,8,2);
$a1 = substr($sid,10,2);
$a5 = substr($sid,12,2);
$jitu_id = "$a4$a3$a2$a1";
$b1 = substr($sid,10,1) * 9 + substr($sid,11,1) * 81;
$b2 = substr($sid,0,1) * 9 + substr($sid,1,1) * 81;
$b3 = substr($sid,4,1) * 9 + substr($sid,5,1) * 81;
$b4 = substr($sid,12,1) * 81 + substr($sid,9,1) * 729;
$sum = $b1 + $b2 + $b3 + $b4;
$c = "$a7$a6";
if ($c != $sum) return 0;


}


if (strlen($sid) == 8){


if ( !ereg("^[A-Z]{2}[0-9]{6}",$sid) ){
return 0;
exit;
}


$v1=substr($sid,0,1);
$v2=substr($sid,1,1);
$v3=substr($sid,2,1);
$v4=substr($sid,3,1);
$v5=substr($sid,4,1);
$v6=substr($sid,5,1);
$v7=substr($sid,6,1);
$v8=substr($sid,7,1);


$av1 = ConvAToI($v1);
$av2 = ConvAToI($v2);


$tmp0 = 2500000*$av1 + 100000*$av2 + 10000*$v3 + 1000*$v4 + 100*$v5 +
10*$v6 + $v7;
if( strlen( $tmp0 ) < 8 ){
$tmp1 = "0" . $tmp0;
}else{
$tmp1 = $tmp0;
}


$b1 = substr($tmp1, 0, 1);
$b2 = substr($tmp1, 1, 1);
$b3 = substr($tmp1, 2, 1);
$b4 = substr($tmp1, 3, 1);
$b5 = substr($tmp1, 4, 1);
$b6 = substr($tmp1, 5, 1);
$b7 = substr($tmp1, 6, 1);
$b8 = substr($tmp1, 7, 1);


$tmp2 = 8*$b1 + 7*$b2 + 6*$b3 + 5*$b4 + 4*$b5 + 3*$b6 + 2*$b7 + $b8;
$tmp3 = $tmp2%11;


if( $tmp3 == 10 ){
$cd = 0;
}else{
$cd = $tmp3;
}
if ($v8 != $cd) return 0;
}


return 1;
}


これって何してるか解析できる人いる?

838 名前:名無しさん 投稿日:2001/04/26(木) 17:59
↑マルチポストうざい

839 名前:名無しさん 投稿日:2001/04/26(木) 21:35
2進法 <=> 10進法の変換はどのようにすれば正確に出来るでしょうか。

以下のルーチンだとうまくいきません。
何が問題なのかも分かりません。
助言お願いします。

#!/us/local/bin/perl

$dec = 10000000000000000;
print &bin2dec(&dec2bin($dec));

sub dec2bin{
    my $dec = shift;
    my $bin;
    do{
        if($dec % 2){
            $bin .= 1;
        }else{
            $bin .= 0;
        }
    } while (int($dec /= 2));

    return scalar(reverse($bin));
}
sub bin2dec{
    my $bin = shift;
    my $dec = my $i = 0;
    $bin =~ /[^01]/ and return;

    local $_;
    foreach (reverse split//, $bin){
        $dec += $_ * (2 ** $i++);
    }
    return $dec;
}
__END___

840 名前:JAPU 投稿日:2001/04/26(木) 21:57
こんな感じ?

sub dec2bin
{
my $bin = "";
my $dec = shift;

while($dec) {
    $bin = ($dec % 2) . $bin;
    $dec = int($dec/2);
}
return $bin;
}

sub bin2dec
{
my $dec = 0;

foreach my $d (split //, shift) {
    $dec *= 2;
    $dec += $d
}
return $dec;
}

841 名前:名無しさん 投稿日:2001/04/26(木) 22:37
>>840
ありがとうございます。
バッチリうまくいきました。

・・・何故839のコードがダメでJAPUさんのなら大丈夫なのか分かりませんが…(;´Д`)
とりあえず、ゆっくり考えるとします。


842 名前:田村麻呂 投稿日:2001/04/26(木) 23:32
質問・

holm.ru のCGIとかパーミッションご存知の方おられますか?
もしよければ、教えてください。

843 名前:若葉くん! 投稿日:2001/04/26(木) 23:54
700 でだめなら 701 んでだめなら 755

844 名前:ミ,,゚Д゚彡 投稿日:2001/04/26(木) 23:54
holm.ru がなんだか知らないけど、一般論として

実行ファイル   -> 755 or 700
データファイル -> 666 or ら600

実行ファイルは*.cgiのことが多いね。
データファイルは*.datと*.cgiが多いんじゃないかな。

っていうか作者のサイトとかREADMEにパーミッションの説明無いの?




845 名前:ミ,,゚Д゚彡 投稿日:2001/04/26(木) 23:55
s/ら600/600/;
シパーイ(++     


846 名前:名無しさん 投稿日:2001/04/26(木) 23:56
www.hulm.ru のことか?
読めないトコのは借りるなよ。

847 名前:名無しさん 投稿日:2001/04/26(木) 23:57
>>842
FAQぐらい読めるだろ・・・
http://register.h1.ru/faq/scripts.shtml

848 名前:名無しさん 投稿日:2001/04/27(金) 00:00
てゆーか842は死んだ方が良いね。

849 名前:田村麻呂 投稿日:2001/04/27(金) 00:25
表示されないんだ、なんでかしらないけど・・・>847

お前が氏ね。この包茎野郎>848

850 名前:田村麻呂 投稿日:2001/04/27(金) 00:44
パーミッションではなくパールを間違えていました。
大変失礼しましたm(^★−)m

851 名前:名無しさん 投稿日:2001/04/27(金) 00:55
>>850
逝ってよし!

852 名前:名無しさん 投稿日:2001/04/27(金) 01:40
http://www.holm.ru

853 名前:名無しさん 投稿日:2001/04/27(金) 02:03
アンサーQというCGIにヘッドライン(タイトル一覧/リンク無し)
を付けようと四苦八苦しています。
配布元:
http://www7.big.or.jp/~jawa/download/ansq/
イメージモデル:http://ryu-sano.pos.to/games/ansq/ansq.cgi
−−−−−(追加した記述)−−−−−−
sub html_headline {
open(HEADLINE,"<$logfile");
@hedline = <HEADLINE>;
close(HEADLINE);
foreach(@headline){
($no,$name,$text,$ipad,$rhost) = split(/<>/,$q);
&headlinelist;
    }
}

sub headlinelist{
print<<"_EOF_";
<font size="2">
$no
$text
</font>
_EOF_
}
−−−−−−−−−−−−−−−−
ヘッドラインを表示したい部分に
&html_headline;
と入れても表示されません。何が間違っているのでしょうか?

854 名前:名無しさん 投稿日:2001/04/27(金) 02:20
>@hedline = <HEADLINE>;
この辺じゃないか?
aがない

855 名前:名無しさん 投稿日:2001/04/27(金) 02:21
恐れ入ります。f2sサーバ(freedom2surf)を使ってCGIを作っているのですが
ローカルでは動いて、サーバに上げると動かなくなるプログラムがあります。

dbmopen(%DATA, /data/lostno", 0666);
$DATA{"$number"} = $write;
dbmclose(%DATA);

ということが出来ないようなのです。
海外サーバを使っていて、気をつけること($ENV{'TZ'} = "JST-9";等)
はどういったことでしょうか。

どなた様か御教授くださいませ。


856 名前:853 投稿日:2001/04/27(金) 02:22
>>854 うわ。早速直してみました! ・・・ダメでした・・・

857 名前:854 投稿日:2001/04/27(金) 02:30
>>856
>($no,$name,$text,$ipad,$rhost) = split(/<>/,$q);
ここもじゃないか?
$_じゃないの?

もうちょっと文法を見直そうよ。

858 名前:853 投稿日:2001/04/27(金) 02:41
>>857 で、で、で、でけたー。はじめてだー。ありがとうございます!!

それが文法はサッパリでヘッドライン系のcgiを見比べまくって
ここに違いないと野性のカンで片っ端から試しまくってたんです。

有難うございました! さーあとはどうやってテーブルの中に入れるかだー。

859 名前:854=857 投稿日:2001/04/27(金) 02:48
>>858
>それが文法はサッパリでヘッドライン系のcgiを見比べまくって
>ここに違いないと野性のカンで片っ端から試しまくってたんです。

そうならそうと最初に言ってくれ。
何もわからない奴とそうでない奴に対する返答って
変わるものなんだよ。

とりあえずとほほさんとこで基礎の勉強をしておいで。
http://tohoho.wakusei.ne.jp/


P.S.
とほほさんところ、移転したんですね。
未チェックの方は気をつけましょう。
態度デカくてすみません。 >各位

860 名前:名無しさん 投稿日:2001/04/27(金) 02:48
>>855
ただ出来ないようだと言われても理由わからねーよ。
せめてエラーメッセージを書いてくれ。
エラーメッセージを見るには、#!/usr/bin/perlの直後にでも
use CGI::Carp qw(fatalsToBrowser);
という1行を入れればよし。

#なんとなく/dataディレクトリが書き込み不可っぽいけど。

861 名前:853 投稿日:2001/04/27(金) 03:00
>>859 重ね重ね有難うございます。
掲示板アンケートで覚えるPerlプログラミングforCGIは
楽しく読了しました。
で、CGI&Perlポケットリファレンスを片手にいじってる
のですが、ちんぷんかんぷんで何がなんだかわかりません。。。
実用UNIXPerlハンドブックは最初の10頁ぐらいしか理解でき
ませんでした・・・といった程度です。
とほほさんところに書いてあるところぐらいまでは大丈夫そうな
雰囲気なのですが。。。

今もポケットリファレンスのsplitの説明でおさらいしようとした
のですが、、、、うーん。。。。参考図書スレで物色してきます・・・

862 名前:853 投稿日:2001/04/27(金) 03:33
無事テーブルの中に入れることもできてひとつ大人になった気分です。。。

863 名前:shige 投稿日:2001/04/27(金) 06:20
糞スレ

864 名前:名無しさん 投稿日:2001/04/27(金) 06:24
真性厨房は糞してとっとと氏ね

865 名前:shige 投稿日:2001/04/27(金) 06:25
何故糞しなくてはならないのか。
それが問題だ。

866 名前:あげ 投稿日:2001/04/27(金) 06:41

             , -―- 、
        , l[》《]|      ヽ
        / i/ i ノノノ ))))〉
.      / i i |(リ ( | | | !    / ̄ ̄ ̄ ̄ ̄
      〈ヘ|_|l| l ゝ~ lフ/|   < 質問に答えてくれるみなさん ありがとう
       / | | |( ヽwliヽ |       \_____
      / /! | l ヘ《~ヘii~▲▲
     /  /ノノ! ノ|リ〉 \/( ゚ω゚)
   / ,  ./-‐- 、/V\ハ_ヲUU
   !/ ./    / / |   ゝ つつ
   ヽ_/   ./    !    jj  \
       /               i
      〈   /        |      |'
       ゝ /    l    |   !/
        `〜‐-L__」〜'^




867 名前:(゚Д゚)ハァ? 投稿日:2001/04/27(金) 06:54
(゚Д゚)ハァ?

868 名前:名無しさん 投稿日:2001/04/27(金) 07:01
>>855
gmtime()を使え。

869 名前:名無しさん 投稿日:2001/04/27(金) 07:06
>>855
普通に、 /data に権限が無いのだと思いますが?

870 名前:弐ch編者 投稿日:2001/04/27(金) 07:43
朝からつまらないね、、
ホント、下らない質問が多すぎるよ。


871 名前:shige 投稿日:2001/04/27(金) 07:47
やったー ひとりでうんこできたよー

ねぇほめてー

872 名前:名無しさん 投稿日:2001/04/27(金) 07:49
弐編、shige・・・
朝から白痴的な書き込みするなよ

873 名前:名無しさん 投稿日:2001/04/27(金) 15:37
チャットのスクリプトでクッキーを取得していますが、
それは次回来たときに、名前の入力とかの作業を省くためですよね?
チャットを軽さ重視でいくならクッキーの取得とかの部分は
排除してもチャットの動作に影響はないですか?

874 名前:名無しさん 投稿日:2001/04/27(金) 15:39
入室以外で名前保存のクッキー使ってるヘタレたチャットあるのか?

875 名前:名無しさん 投稿日:2001/04/27(金) 15:45
>>873
普通は問題ないと思うが、削ったところで軽くはならないと思われ。


876 名前:名無しさん 投稿日:2001/04/27(金) 16:02
>>873
レスありがとうございます。
クッキーなくしたら、リロード機能は使えなくなりますか?
手持ちのスクリプト見たら、
「# クッキーにリロード時間のない場合は初期値を代入
if ($c_retime eq "") { $c_retime = "$re_time"; };」
って書いてあるんですが。
htmlのrifrashではだめですか?

877 名前:名無しさん 投稿日:2001/04/27(金) 16:03
軽くならないんじゃあんまり意味ないですね。
今のチャットには参加者表示機能くらいしかなくて
軽くするには他になにを削除すればいいんでしょうか。

878 名前:むぎ茶       投稿日:2001/04/27(金) 16:22


「rifrash」でだめなことは確かだな(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley


879 名前:名無しさん 投稿日:2001/04/27(金) 16:25
>>877
別のスクリプトに乗り換えるというのはどうだ?
http://ziege.apgeo.com/test/


880 名前:ミ,,゚Д゚彡 投稿日:2001/04/27(金) 16:28
>>876-877
軽くしたいならPerl+CGI以外の方法を取るのがいいと思うけどね。

因みに、rifrashじゃなくてrefreshね

881 名前:名無しさん 投稿日:2001/04/27(金) 18:28
そろそろ、さすがに新スレかな。

882 名前:弐ch編者 投稿日:2001/04/27(金) 19:19
もう終わったら。こんなスレ
なんの役に立つの?

883 名前:名無しさん 投稿日:2001/04/27(金) 19:29
>>881
板移動予定だからこのままこのスレで良いんじゃない?

884 名前:881 投稿日:2001/04/27(金) 19:34
>>883
30日に要望だったっけ。
うーん。まあ大丈夫か。

885 名前:名無しさん 投稿日:2001/04/27(金) 20:35
takoは1000越えたら読めなくなるような軟弱CGIじゃないから大丈夫

886 名前:855 投稿日:2001/04/28(土) 00:32
Software error:
Execution of number.cgi aborted due to compilation errors.

ご回答有難うございます。
このようなエラーが出たようです・・。
少し勉強してみますが、注意する事があったらご指摘下さい。

887 名前:名無しさん 投稿日:2001/04/28(土) 04:01
>>886
コンパイルエラー? ・・・つーことは。
855はてっきりタイプミスだと思ったんだが
↓これ/dataの前のダブルクォートがマジで抜けてるのカー?

> dbmopen(%DATA, /data/lostno", 0666);


888 名前:名無しさん 投稿日:2001/04/28(土) 12:44
既出だったら本当にすみません。
昨日Prohostingにスペースを借りたのですが、
パーミッションの変更が出来ません。FTPには
FFFTPを使用しています。GoLiveを使っても同様でした
どなたか回答をお願いいたします…
スペースは 
http://storm.prohosting.com/ユーザ名/です

889 名前:名無しさん 投稿日:2001/04/28(土) 16:58
えっと、dreamweaveってパーミッションの変更できないんですか。
いちおう機能みたいなのついてますけど。
転送にしか使えないんですか。
CGIがうごかないっす。

890 名前:名無しさん 投稿日:2001/04/28(土) 16:58
rが抜けてました。

891 名前:名無しさん 投稿日:2001/04/28(土) 17:08
>>889=馬鹿

892 名前:名無しさん 投稿日:2001/04/28(土) 17:15
>>888-890
あのね。ここは「Perl初心者」コーナーなの。
スレ違い。ていうかむしろ板違い。
FFFTPやGoLiveやdreamweaverならWEB制作板の人間が詳しいと思うが。

893 名前:名無しさん 投稿日:2001/04/28(土) 17:21
>>889
スレ違いだよ。
このスレのタイトルをよく読め。

サーバーごとの仕様なんざ、そのサーバーのサポートに聞けばいいだろ。

894 名前:893 投稿日:2001/04/28(土) 17:21
被った上に大きな勘違い。
FTPソフトだったのね。
恥ずかしい。

895 名前:名無しさん 投稿日:2001/04/28(土) 21:52
質問です。
Perl(とは限らないかも)であるビットが立っているか否か、
例えば"111000111"という並びで右3つのビットが立っているかを調べる、
などをするにはどうしたら良いでしょうか。
よろしくお願いします。


896 名前:895 投稿日:2001/04/28(土) 21:53
間違えてsageてしまいました。
ageます。

897 名前:JAPU 投稿日:2001/04/28(土) 22:08
if($var & 0x07){ ... }
ここで、0x07 は 00000111 です。OK?

898 名前:895 投稿日:2001/04/28(土) 22:18
>>897
OK.

即答ありがとうございます。
助かりました。


899 名前:JAPU 投稿日:2001/04/28(土) 22:50
補足しておくと、上記のは「下位3ビットのいずれかが立っている場合」の判定です。
全て立っているかを判定するには ($var & 0x07) == 0x07 とかしてくれ。

分かっているとは思うけど、念のため、

900 名前:895 投稿日:2001/04/28(土) 23:11
>>899
冷静に考えるとその通りですが…分かってませんでした(;´Д`)
補足ありがとうございます。

901 名前:886 投稿日:2001/04/29(日) 00:09
今チェックしましたが、それは単なるコピーミスで、
ダブルクォーテーションはついていました・・。
うーん・・分からないかも。

902 名前:名無しさん 投稿日:2001/04/29(日) 00:45
>>901
本当は、コンパイルエラーが出るような未完成なスクリプトは、
ローカルマシンで動作チェックするのが正しい姿勢
なんですけどね。
どうしてもサーバに上げてエラーチェックするしかない場合は
↓こんなスクリプトを書いて、目的のスクリプトを呼び出す方法もある。

#!/usr/bin/perl
open STDERR, ">&STDOUT";
$| = 1;
print "Content-Type: text/plain\n\n";
require 'number.cgi'; #←ここに本来のCGIスクリプト名

これだとエラーメッセージを行番号付きでもれなく表示してくれるはず。

903 名前:名無しさん 投稿日:2001/04/29(日) 01:14
今週からCGIの勉強を始めました。
ある.logファイルを開いて<>で区切られた複数の要素からなる行を
読み出して、1つめと3つめの要素だけにしたい場合ってどうする
のでしょうか?
@line = ($no<>$name<>$title<>$ip);
($no<>$title) = @line;
というのを考えてみたのですが、間違っているのではないかと思う
んです。

904 名前:名無しさん 投稿日:2001/04/29(日) 01:56
>>903
自分で考える心は尊いと思います。いやマジで。
でも少しはマニュアルなり参考書なり読んだほうがいいです。
間違ってるつーより、むちゃくちゃです。

よくある方法では、$lineに1行ずつ読み込むとして、
($no, $title) = (split(/<>/, $line))[0, 2];
なんてふうに書けばよいかと思います。

905 名前:名無しさん 投稿日:2001/04/29(日) 02:06
>>903
$data = "first<>second<>third<>forth";
$data = join('<>',(split(/<>/,$data))[0,2]);
print $data;

こーいう事か?
…と思ったら、$noと$titleに1番目と3番目をそれぞれ代入するって事か。
>>904に先を越された(w

906 名前:むぎ茶       投稿日:2001/04/29(日) 05:45


こんなくだらない質問に答えるやつがいるから
チュウボウが増えるんだよ
少しは考えろ(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley


907 名前:名無しさん 投稿日:2001/04/29(日) 05:54
ランダムな数を変数に入れたいんですがどうすればいいですか?


908 名前:むぎ茶       投稿日:2001/04/29(日) 06:02




ネタ



909 名前:名無しさん 投稿日:2001/04/29(日) 09:37
>>907
ネタと言われても仕方ない質問だが…
$n = rand($arg); #0〜$argのランダムな数を変数$nに入れる

910 名前:>907 投稿日:2001/04/30(月) 00:36
こうかな?
#!/usr/bin/perl

$arg = 10000;

&srand;

$n = &rand($arg); #0〜$argのランダムな数を変数$nに入れる
print "$n\n";

sub srand {

my $seed = $_[0];

if ($seed) { $next = $seed; }
else { $next = time; }
$next = $next % 32768;

}

sub rand {

my $max = $_[0];

$next = ($next * 1103515245 + 12345) / 65536 % 32768;
if ($max) { $next % $max; }
else { $next; }

}


911 名前:名無しさん 投稿日:2001/05/01(火) 23:43
WEBプログラミング板に新スレ立てました。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069

912 名前:名無しさん 投稿日:2001/05/03(木) 00:26
このスレは移転しました。廃棄スレになります。
CGI見つけたい人は 911のスレでお願いします。

−−−−−−−−−−−−−−廃棄−−−−−−−−−−−−−−


913 名前:名無しさん 投稿日:2001/06/17(日) 15:49
あの、廃棄スレなんですが、webプログラミングには関係ないので
こっちで質問させて下さい。
自分でサーバー立てている会社って
そのサーバーはいつも電源を落としてはいけないんですよね。
そうしなきゃ自分の会社のHPとかアクセスできないですもんね。

914 名前:名無しさん 投稿日:2001/06/17(日) 17:14
&d('.');sub d{opendir D,($_[0]);my@a=grep!/^\.\.?$/,readdir D;closedir D;
foreach(@a){printf"%".length($b="$_[0]\\$_")."s\n",$_;&d("$b")if(-d$b)}}

サブディレクトリを全部出力するの。(習作)

915 名前:名無しさん 投稿日:2001/06/17(日) 17:31
913> 当たり前。無停電電源とかの装備も必要。

916 名前:名無しさん 投稿日:2001/06/17(日) 21:44
Perl と関係無いだろ。
氏ね。

917 名前:名無しさん 投稿日:2001/06/18(月) 11:29
>>916
ばーか

918 名前:なー 投稿日:2001/06/18(月) 19:39
なんて荒んだスレだ。

919 名前:名無しさん 投稿日:2001/06/19(火) 03:39
つーかWEBプログラミング板に引っ越したのでよろしく。
http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069&ls=100

920 名前:名盤さん 投稿日:2001/07/03(火) 05:58
ActivePerl(5.6.1.626-MSWin32-x86-multi-thread.msi)をインストール
しようと思ったら、「ウィンドウズのインストーラーが古いです。
アップデートしてください」といわれました。
多分、古いんじゃんくて、新しいからダメなんだろうかと思ってます。
win98seでie6なんですが、ieのバージョンをあげたのがまずかった
でしょうか?
5.5に戻そうとしても、ウィンドウズに「最新のieを持ってます」と阻止
されます。
教えてください。

921 名前:名無しさん 投稿日:2001/07/03(火) 10:01
>>920=救いようの無い馬鹿

922 名前:名無しさん 投稿日:2001/07/03(火) 20:25
>>920
インストーラが古いんだよ。
マイクロソフトに行ってDLしなされ

923 名前:名無しさん 投稿日:2001/07/03(火) 22:32


ageんな、ヴォケ

924 名前:名無しさん 投稿日:2001/07/03(火) 22:39
>>923
失敬





dat2html ver0.00 (2001/10/24)
2ちゃんねるは、ここのサーバを使ってるです。。。