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

【Perl】初心者コーナーPart9

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/12/28 23:21ID:SPLRvqQi
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

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

1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけど、なんか質問ある?part5】
http://pc.2ch.net/test/read.cgi/php/1009331505/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/

過去ログ、その他の役立ち情報は>>2-10を見よう。
0609名無しさん@お腹いっぱい。02/02/06 23:53ID:+a0hOzna
>>608
ありがとうございます!
1行目は意味不明でしたが、quotemetaで検索したらいろいろ出てきました。
調べてみます。
0610ブクログラマー ◆eLx2NxJ6 02/02/06 23:56ID:6/WQt+6L
はじめまして。質問させていただいてよろしいでしょうか。

現在 僕は、CGIでメールを送信するページを作ってるんですが
ローカルで、sendmailを実行することはできますか?
0611名無しさん@お腹いっぱい。02/02/07 00:00ID:???
sendmailがあればいくらでも。
0612ブクログラマー ◆eLx2NxJ6 02/02/07 00:04ID:4GVSBAfQ
>>611

Apacheで確認して、その後鯖にうpするやり方で、作ってるんですが
Apacheにはsendmailがついてないようです。
DLすればよろしいんですか?
0613名無しさん@お腹いっぱい。02/02/07 00:08ID:???
OSに依存しそうな問題なのだから自分のOS位書くのが礼儀ではないでしょうか?

後、うpとか言う人信用できないです。
自分のアドバイスでメールばらまきCGI組まれても困りますから。

新しい人をお待ち下さい。
0614ブクログラマー cj3074167-a.itabs1.kn.home.ne.jp02/02/07 00:10ID:???
>>613

礼儀知らずで、ごめんなさい。
うpっていう言葉も2chだから使ってしまいました。

使用しているOSはWinXP(Home)です。
PC上の仮想サーバー(Apache)で、sendmailの機能を使いたい、と考えています。

メールをばらまく行為とかは、考えていません。
その誓いとして、自分のメルアドとふしあなを書いておきます。
無礼をお許し下さい。
0615age派02/02/07 00:15ID:???
鯖がhi-hoです。
それでCGIゲームを置きたくて
とりあえずApacheで動作確認したFFAとEndlessBattleを置いてみましたが
FFAは呼び出しの時点でスクリプトエラー
EBは呼び出しはできたもののどれかひとつでもリンク押すとスクリプトエラー
僕の力じゃどうしようもありません。
何か方法は無いでしょうか?
0616age派02/02/07 00:18ID:???
あ、スレ違いだ!?
すいません、出直してきます(汗
0617名無しさん@お腹いっぱい。02/02/07 00:18ID:???
サーバの設定とスクリプトの設定を一致させる。
できない、わからないならまだ時期ではない。あきらめる。
0618age派02/02/07 00:27ID:???
そうですか、じゃあもう少し調べてみて駄目なら諦めます。
ありがとうございました。
あと、スレ違いすいません(汗
0619名無しさん@お腹いっぱい。02/02/07 00:32ID:???
1行目のperlのパスに気を付けて。
0620名無しさん@お腹いっぱい。02/02/07 01:13ID:???
>>618 この辺引っ掛かってない?
2.使えるプログラム言語は?
Perlのバージョンは4.036です。
http://home.hi-ho.ne.jp/home/faq/service/rweb/rweb_a2.html
0621名無しさん@お腹いっぱい。02/02/07 02:03ID:???
喧嘩売ってるとしか思えんな  (w
0622age派02/02/07 06:23ID:???
すいません(汗)
あの後戻っていろいろやってたらそのまま寝てしまって・・・。
Perlのバージョンはドメインがmaxなので5.6らしいです。
それでパスもやったんですが結局無駄でした(汗
0623名無しさん@お腹いっぱい。02/02/07 06:45ID:???
Kcatch.pm 使ってみ

http://www.kawa.net/works/perl/catch/news.html
スクリプトの冒頭で Content-type 出しておけば大体のエラーは
ブラウザでチェック出来るから



0624age派02/02/07 06:46ID:???
でも5.6でも動かないんだからやっぱ4,036なのかな・・・。
仕方が無い・・・厨房なんで学校いってきます。
本当にすいませんでした・・・。
0625名無しさん@お腹いっぱい。02/02/07 08:08ID:???
#! /path/perl

print "CONTENT-TYPE:text/html\r\n\r\n".$[;

バージョンチェック。
0626まゆ02/02/07 09:37ID:BzGq5BfM
Perlで画像アップロード掲示板を作成していますが、ユーザから
「アップされた画像を任意の大きさに変更したい」と言われましたが
そのようなことができるでしょうか?
ローカルからサーバにアップされた画像をたとえば250×200に変更するとか、
サイズを50Kに変更するといったようなことはできるのでしょうか?
どなたかご存じの方がいましたら教えてください。
また、そんなことはできないよということでも良いのでどなたか教えてください。
0627名無しさん@お腹いっぱい。02/02/07 13:11ID:???
2ちゃんねるで・・・/test/read.cgi/板名/スレ番号/
という形式でcgiが使えているでしょう。
これはどうやっているのですか?
0628初心者02/02/07 13:49ID:???
>>626
要するにgifなりjpgなりを加工したい訳だよね。
ファイルサイズを変えたいと言うことは。

そりゃぁPerlには無理なんじゃないかなぁとか思ってみる。
それとも、そんなモジュールとかあったりするんだろうか。。。

と、検索。
こんなの発見。

GDモジュール(日本語チョウ訳)
http://member.nifty.ne.jp/hippo2000/perltips/gdmemo.htm より。

getBounds
GD::Image::getBounds( ) オブジェクト・メソッド
このメソッドはそのイメージの幅と高さの2つ要素を持つリストを返します。
取得することはできますが、作成したらイメージの大きさを変更することができません。

やっぱり出来ないのかな?
0629初心者02/02/07 13:53ID:???
あった。

copyResized
GD::Image::copyResized(sourceImage,dstX,dstY,srcX,srcY,destW,destH,srcW,srcH) オブジェクト・メソッド
copyと似ていますが、コピー元と出力先に違う大きさを指定することができます。
コピー元と出力先の大きさは、それぞれ (srcW,srcH) と (destW,destH) で指定します。
copyResized()は指定された大きさに合わせてイメージを拡大、縮小をおこないます。

例:

$myImage = new GD::Image(100,100);
... いろんな描画 ...
$srcImage = new GD::Image(50,50);
... いろんな描画 ...
# 25x25 ピクセルの領域を $srcImage から
# $myImageの(10,10)に大きくしてコピーします。
$myImage->copyResized($srcImage,10,10,0,0,50,50,25,25);

---
参考:http://homepage1.nifty.com/smastani/hp/smastani/pc/thumbn.html
0630名無しさん@お腹いっぱい。02/02/07 20:01ID:wErLB+F6
文字列のすべての文字間に例えば/と入れたい場合はどうしたらいいですか?
あいうえお-->あ/い/う/え/お
こんな感じ。
とっても簡単なんだと思うんだけど、文字列置換ではやり方が思いつかないし、
splitとjoinでもなんか区切り文字が必要で、この場合区切り文字は無くて..
頭悪くてすみません。お願いします。
0631名無しさん@お腹いっぱい。02/02/07 20:25ID:???
>630
http://www.din.or.jp/~ohzaki/perl.htm#JP_Split
これが参考になるかな?
063263002/02/07 20:40ID:wErLB+F6
ありがとうございます!!
斜め読みしたかぎり、理解できませんでしたが、
題名からして回答っぽいです。参考にさせていただきます。
0633GIFの加工02/02/07 21:42ID:???
>>629
GIFはたしかUNISYSが版権?持ってて、画像をくっつけるぐらいなら
問題ないけど、加工するとなると権利に引っかかる可能性アリだった
と記憶してる。
pngとかでできないのかな?
0634名無しさん@お腹いっぱい。02/02/07 22:36ID:XOjr1cO9
>>633
最近のGDはGIFサポートしてないのぉ
0635名無しさん@お腹いっぱい。02/02/07 22:59ID:cTwOw5ea
>>630
print join "/",(split //,"aiueo");
でいいんじゃないのん?
063663502/02/07 23:08ID:cTwOw5ea
あ、全角のコトを言ってたのね。
勘違いしてた。ゴメ。
0637age派02/02/07 23:11ID:???
っでぇあんな時間にレスがΣ( ̄□ ̄;)
すいません、重なって書き込みだったらしく気づかずそのまま行ってしまいました(汗
で、あと・・・KCatchの使い方が良くわからなかったです(汗
今までいじる程度しかやってなかったんで・・・。
0638age派02/02/07 23:15ID:???
あ、すいません(汗
今のが623さんへです。

それと、625さん。それをファイルにして動かして見ればよいのでしょうか?
0639名無しさん@お腹いっぱい。02/02/08 05:15ID:???
Perlのチャットを設置しようと考えています。
鯖への負担を減らしたいので、いくつかのCGIをテストしてその負荷を調べることにしました。
CPUの処理時間から負荷を量ろうと
win2000+ActivPerl+AN HTTPDの環境で、スクリプトの上のほうに
$CPU_start = (times)[0] ; #計測スタート

表示部分(普段リロードされる)の下のほうに
$CPU_end = (times)[0];
printf("<DIV align=right>消費時間: %.3f CPU秒</DIV>\n",$CPU_end-$CPU_start);
と書きました。しかしどのCGIも0.000〜0.010秒程度となり、比較ができませんでした。

Perlの負荷(チャットリロード時)を計る良い方法はないでしょうか?
0640名無しさん@お腹いっぱい。02/02/08 06:24ID:???
どう削りたいのかによる
CPUビジーとは限らんだろ、メモリかも知れんし、ディスクかも知れない
Benchmark取れば君の言ってる事は出来るが
それが何の役にたつのやら・・・・
0641名無しさん@お腹いっぱい。02/02/08 09:18ID:???
>>639
自作して自分なりのダイエットを徹底的に行うって言うのも楽しい。
0642まゆ02/02/08 09:23ID:WCH/GiDk
ご回答ありがとうございます。
みなさんのアドバイスを参考に作成いたします。
初心者さま
参考になるページありがとうございます。
0643名無しさん@お腹いっぱい。02/02/08 14:01ID:???
【傲慢】Perl使いに喧嘩を売る掲示板【問題発言】
http://choco.2ch.net/test/read.cgi/news/1013077421/
0644名無しさん@お腹いっぱい。02/02/08 20:05ID:???
Perl-CGIからデータベース接続したいんですけど、
Java-ServletみたいなConnection Poolingってできるんでしょうか?

調べてみたんですが、mod_perlしか見つかりませんでした.
事情によりmod_perlは使えないので、その他の方法でなにかあります?
0645名無しさん@お腹いっぱい。02/02/08 21:30ID:???
>>640-641
ご教授ありがとうございました。
Benchmark.pmの解読にいってきます。
0646名無しさん@お腹いっぱい。02/02/08 22:59ID:???
お金を表示させようと思って、普通に表示したら
お金っぽくないんです。
で、なんでかなぁ?って考えたら、カンマがないからだとわかりました。

$money='500000'
に、3桁区切りのカンマをつけるにはどうすればいいでしょうか?
0647名無しさん@お腹いっぱい。02/02/08 23:02ID:???
$data = "500000";
for($i = 0;$i < $length($data);$i++)
{
if($i % 0 == 2)
{
$res .= ",";
}

$res .= sybstr($data,$i,1);
}
0648名無しさん@お腹いっぱい。02/02/08 23:10ID:???
>>647
早レスありがとうございます。

なるほど、そういう方法もありですか。
(たぶん$length → lengthだと思うのですが)

個人的には、正規表現か、sprintfでなんとかならないかなぁと思ってるんですが、
どうでしょうか?
0649名無しさん@お腹いっぱい。02/02/08 23:18ID:???
>>648
過去ログ、その他の役立ち情報は>>2-10を見よう。

数字を 3桁ごとにコンマで区切る
http://www.din.or.jp/~ohzaki/perl.htm
0650名無しさん@お腹いっぱい。02/02/08 23:18ID:???
そこまで解っていて何故聞く?

$l = reverse $l;
$l =~ s/(\d{3})/$1,/g;
$l = reverse $l;
0651名無しさん@お腹いっぱい。02/02/08 23:19ID:???
あ、そうか。/gで全部処理すれば良いんだ。
0652名無しさん@お腹いっぱい。02/02/08 23:30ID:???
>>644
多分 mod_perl + Apache::DBI じゃないと無理なんでないかな。
0653名無しさん@お腹いっぱい。02/02/09 00:46ID:JKGEpIyz
>>646
$money='500000'
$money =~ s/500000/500,000/;
065464402/02/09 00:47ID:XYP1PySz
>mod_perl + Apache::DBI
やっぱりそうなりますか
ひとつだけperlプロセスを常駐させてそこからConnection受け渡し、とか
いろいろ考えてたんですけど・・・
Hashの参照と中身(データ)を丸ごとプロセス間でやり取りってのは・・・
できないですよねぇ
0655名無しさん@お腹いっぱい。02/02/09 00:54ID:R07+bRc7
perlに付け足してアクセスログをとる方法なんですが、
ブラウザの種類(携帯は機種も)、IP、SSID、日付、訪問回数等を
取得できる方法ありませんか?
今は
# 適当なファイルをopenして
open(LOG,'>>logfile');
# 情報を書き込む
print LOG "$ENV{'DATE'} $ENV{'HTTP_USER_AGENT'} $ENV{'REMOTE_HOST'} $ENV{'REMOTE_ADDR'}\n";
# ファイルをクローズ
close(LOG);
ってやってるんですが、1回のアクセスで同じ情報が数回残るんです。
ちなみに掲示板のCGIの上のほうにつけてるんですが。
0656名無しさん@お腹いっぱい。02/02/09 01:06ID:???
>>655
表示 1回。
書き込み 1回。
リロード 1回。

同一IPアドレスからは連続して情報を書き込まないようにすれば。
0657名無しさん@お腹いっぱい。02/02/09 01:12ID:R07+bRc7
>>656
そのやりかたがわからないんです。
日付とSSIDの取得もわかりません。
もしわかるのであれば簡単なソースでものせてもらえませんか?
0658名無しさん@お腹いっぱい。02/02/09 01:17ID:???
それじゃ解りまへん
自分が取りたい所で取れば良し
0659名無しさん@お腹いっぱい。02/02/09 01:37ID:R07+bRc7
そうですか、ありがとうございます。
他の人が教えてくれるのを待ってます。
0660名無しさん@お腹いっぱい。02/02/09 01:39ID:???
>>656 != >>658

>>656な俺も既に回答は放棄してるよ。
もう少し具体的に書かないと。
0661名無しさん@お腹いっぱい。02/02/09 01:57ID:???
それ改造してんだろ? つーかSSID何かログれんのか?
自分で書いて何処でどう動いてるか分からんのか?
改造だったら改造スレにソース上げれば教えてくれるかもな
066265202/02/09 02:26ID:???
>>644
Storable, FreezeThaw, Data::Dumperなどで$dbhをプーリングする
・・・くらいしか思いつかなかったヨ。

> Hashの参照と中身(データ)を丸ごとプロセス間でやり取り
これをやってくれるのが上記のモジュール群だと思うのだが、どうか。
066364402/02/09 03:32ID:???
>>662
ありがとうございます.その辺から調べてみます.
0664名無しさん@お腹いっぱい。02/02/09 13:58ID:ZyuqXnPG
半角英数字を全角に変換したいんですがうまく行きません。
require "jcode.pl";
&jcode'tr(\$string,'0-9A-Za-z','0-9A-Za-z');
これってなにか間違ってます?いろいろ調べたんですが、
頭の&無かったり'が::だったり、jcodeのヘッダでは最初の引数が*line
で*ってなんだ??とか全然わからんです。お願いします。
0665名無しさん@お腹いっぱい。02/02/09 15:53ID:???
>>664
いろいろ調べた?
Googleで"jcode.pl"を検索すると出る最初のページすら読んでないのに?
jcode.plの私的な解説書 <http://www.mikeneko.ne.jp/~lab/kcode/jcode.html>

そこにこう書いてあるぞ。

> 「-」による範囲指定は、$line の文字コード及びスクリプト自身が、JIS か EUC でなければなりません。
066666402/02/09 16:13ID:ZyuqXnPG
そこはちゃんと読んで、すべてEUCでやってます。
0667名無しさん@お腹いっぱい。02/02/09 16:31ID:???
どう上手く行かないんだ?
別段間違えて無い筈だぞ
一応最新Ver落としてやり直してみれ

まさかターミナルがSjisとかじゃ無いよな?
066866402/02/09 16:33ID:ZyuqXnPG
そうですか。jcode壊しちゃったかな。
何も変換されません。
ちなみにターミナルってなんですか?
0669名無しさん@お腹いっぱい。02/02/09 16:44ID:???
telnetクライアントなどシェルと入出力を行う環境(?)。
0670名無しさん@お腹いっぱい。02/02/09 16:47ID:???
どんな環境でやってるのやら・・・
ターミナルはターミナルだ、訳せ :)

&は関数のプレフィックスな、まあ有っても無くてもいい
'と::は意味が同じだが、まあこれもなるべく::を使え
*と\はちょっと違うんだけど、まあ似たようなもんだから気にするな
067166402/02/09 16:47ID:ZyuqXnPG
ごめんなさい。本当にごめんなさい。
jcode.plが壊れていたようでした。
正常なものに更新したら無事変換されました。
0672名無しさん@お腹いっぱい。02/02/09 16:52ID:???
>670
投げやりな回答が分かり易くてGood (・∀・)b
0673名無しさん@お腹いっぱい。02/02/09 17:44ID:???
>'と::は意味が同じだが、まあこれもなるべく::を使え

Perl5から非推奨だっけ?'
0674名無しさん@お腹いっぱい。02/02/09 17:57ID:???
>>673
んだ。
Perl5からはパッケージデリミタは :: になっている。
' は後方互換の意味しかない。

型グロブとリファレンスについては、
速度の点や、スレッド有効での問題があるから、
素直にリファレンス使ったほうが良い。
0675名無しさん@お腹いっぱい。02/02/10 03:48ID:TjXtgJNe
おしえて下さい。
208_978_4_37  この時、
208を取り出すにはどしたらいい? substrを使うかな?もっと簡単な方法あるよね?
0676名無しさん@お腹いっぱい。02/02/10 03:50ID:???
(split /_/)[0]
0677名無しさん@お腹いっぱい。02/02/10 03:52ID:???
1.
$str = "208_978_4_37";
$str =~/^(\d+)/$1/;

2.
$str = "208_978_4_37";
$str = (split /_/, $str)[0];

substrが一番簡単です。
0678名無しさん@お腹いっぱい。02/02/10 03:55ID:TjXtgJNe
はや、 ほんじゃ substr使います。
>676 >677 ありがとうございました。
0679名無しさん@お腹いっぱい。02/02/10 11:23ID:jVpiRjZn
良く本に載っているソースなどで
local(*data, @cokkie);
などを見かけますがこれの*dataの「*」の意味が理解出来ません。
どなたかご教授お願いします。
0680名無しさん@お腹いっぱい。02/02/10 11:30ID:???
>>679
参照。
ポインタのようなもの。
0681名無しさん@お腹いっぱい。02/02/10 11:38ID:jVpiRjZn
>>680
お答えありがとうございます。
参照という事はつまり、上記の
local(*data, @cokkie);
では、$data @data %dataが全て局所化されるという意味でしょうか?
ポインタはCの経験が無いもので、ちょっと理解出来ないです。。
0682名無しさん@お腹いっぱい。02/02/10 14:24ID:???
型グロブと参照は違うだろ。

意味は>>681であってる。
0683名無しさん@お腹いっぱい。02/02/10 17:16ID:LAh5h/Xv
書き出したテキストファイルを
Windowsで関連付けしたアプリで自動的に開きたいんですが、
どうすればいいんでしょうか?

hoge.txt を書き出したとして、
それを関連付け実行(ダブルクリック)した動作が実現すればいいんですが…。
(エディタでhoge.txtが開ければOK)
0684名無しさん@お腹いっぱい。02/02/10 17:19ID:???
system("hoge.txt");
068568302/02/10 17:26ID:LAh5h/Xv
>>684
ありがとうございます。でも、

「コマンドまたはファイル名が違います.」

と出てしまいます…。
0686名無しさん@お腹いっぱい。02/02/10 17:29ID:SYLMgyWM
>>685
hoge.txtのパス通ってる?
同じフォルダに置いてやってみ?
0687名無しさん@お腹いっぱい。02/02/10 17:30ID:???
あ、やっぱり失敗か。

systemの実装がshellexecute()なら動くけどね。
0688名無しさん@お腹いっぱい。02/02/10 17:32ID:???
system("start hoge.txt")
068968602/02/10 17:33ID:SYLMgyWM
出来ないこともあるんか。
漏れが出来たから、、偉そうな事言ってごめそ
069068302/02/10 17:36ID:???
>>688 これでできました!

パスは通ってました。 >>686
DOS窓から関連付け実行する時も start〜 で行けますね。勉強になりました。
ありがつおございました。

#と言うか、こんな時間に即レスが帰ってきたことにビクーリ
069168102/02/10 18:08ID:wM0dEuj6
>>682
*data
↑は型グロブいうんですね。知らなかったです。で検索して見たところ
Knave Web講座 というすごくわかりやすい解説がしてあるページにたどり
付きまして、なんとか理解することが出来ました。
>>680さんともどもありがとうございました。
0692名無しさん@お腹いっぱい。02/02/10 18:14ID:???
クッキーを設定するにあたって質問です。
Set-Cookie: ******
は必ず
Content-type: *******
の1行下に記述しなければいけないのですよね?下の例であってますでしょうか?
例:
Content-type: text/html\n
Set-Cookie: web=$hoge\n
HTML記述〜
0693名無しさん@お腹いっぱい。02/02/10 18:17ID:???
>>692
逆。

Set-Cookie: web=$hoge\n
Content-type: text/html\n

後、有効期限書かないとすぐ消えるよ。
0694名無しさん@お腹いっぱい。02/02/10 20:07ID:???
数字のリストから空いているのを探すのって出来る?
たとえば
1,3,4,5,6,7,8,9
とかあったら2を返すようにしたいんですけど。
0695名無しさん@お腹いっぱい。02/02/10 20:10ID:???
>>694
階差数列を利用すれば?

$a[$i + 1] - $a[$i] = 1

となる。この条件に合わなければブビー!
0696名無しさん@お腹いっぱい。02/02/10 20:14ID:SYLMgyWM
@char = (1,3,4,5,6,7,8,9);
%char = map { $_, 1 } @char;
for(1 .. 9) { print if not exists $char{$_} }

イマイチ?
0697名無しさん@お腹いっぱい。02/02/10 20:30ID:???
grep { ! { map { $_ => 1 } @hoge }->{$_} } (1..9);
0698デビデビ02/02/10 20:38ID:TkcMar2j
Gimp-Perl のスクリプトを X はインストールされてるけど、
X サーバが走ってないマシンで、動かす方法はあります?
0699名無しさん@お腹いっぱい。02/02/10 21:04ID:???
>>693
OH!?だから動かなかったのか。。?
どうもありがとうございました。
0700          02/02/10 21:26ID:???
メールを読んでその代価としてお金がもらえます。当然、登録・維持全て無料。
広告メールの配信企業は他にも多数あります。しかし登録したはいいがメールが来ない、懸賞は自作自演、
果てには個人情報収集目的のサービス実態なし、なんてサイトまであります。
その点このサイトは月10通〜20通の配信実績がありますし、何より住所・電話番号等不要なので匿名性が高く、安心。
それにちゃんと送金してくれます。私も既に3回送金してもらいました。
ポイントが加速度的に増えるサービス、いくつかありますので仮登録したらCheckしてみて下さい。

※注意※ 
必ず 本登録 して下さい。仮登録のままではポイントが加算されません。
本登録するには アンケート に答えてから 本登録スタートボタン (メールでURL配信される)を押します。
興味のある項目を答えるアンケートでは全てチェックを入れるのが吉。その分配信メールが増えてポイント増。
本登録スタートボタンのURLが載ったメールが来るまで数日〜数週間かかりますが、待っただけの価値は十二分にあります。
時間がかかるケースが多いので早めに仮登録を済ましておくことをお勧めします。
その後の本登録維持も忘れないようご注意下さい。(何かと面倒なのも広告出稿者を多く集める為の策のようです)


Ariga10.com
http://www.ariga10.com/?id=207008
こちらから登録できます。記入欄は少ないので時間はほとんどかかりません。
0701名無しさん@お腹いっぱい。02/02/10 21:44ID:???
>>698
マルチですか・・・。
0702名無しさん@お腹いっぱい。02/02/10 21:53ID:???
>>701
あれだろ。
スレ立てて指摘されたんで質問直しなんだろ。
マターリマターリ
0703名無しさん@お腹いっぱい。02/02/10 22:55ID:???
>>696
>>697 を参考にして
grep { ! { map { $_ => 1 } @hoge }->{$_} } ((sort @hoge)[0]..(sort @hoge)[$#hoge]);
てな感じか?
070470302/02/10 22:56ID:???
>>694 だった。スマソ……。
0705名無しさん@お腹いっぱい。02/02/11 00:20ID:rEaHJsWI
$sort = [sort { $a <=> $b } @hoge];
print grep { ! { map { $_ => 1 } @hoge }->{$_} } ($sort->[0]..$sort->[$#hoge]);
0706名無しさん@お腹いっぱい。02/02/11 00:21ID:rEaHJsWI
直結すると長くなるから分けただけで↓でも。
grep { ! { map { $_ => 1 } @hoge }->{$_} } ((sort { $a <=> $b } @hoge)[0]..(sort { $a <=> $b } @hoge)[$#hoge]);
0707名無しさん@お腹いっぱい。02/02/11 00:32ID:???
foreach (@hoge){......}とかで配列処理する場合、今現在、
何番目の要素なのかを取得する方法って有る?
いつもブロックの中で$i++とかして参照しているけど、
いまいちスマートで無い気が。
0708名無しさん@お腹いっぱい。02/02/11 01:01ID:???
>707
それが一番スマート。
0709名無しさん@お腹いっぱい。02/02/11 02:54ID:fuw0wehn
SSIについてここで質問してもイイ?
■ このスレッドは過去ログ倉庫に格納されています