#!/usr/bin/perl #↑一行目のパスはサーバーによって違います。サーバに合わせて変更してください。 #このperlは、perl4に対応していません。 #------------------------------------------------------------------------------- # # /_/_/_/_ ローマ字なまえ相性占い ver1.2 /_/_/_/_ # # 2000/6/18,2000/9/30 by Mamiko.S(http://www.nmt.ne.jp/~mamiko/) # # ・著作権表示は消さないで使ってください。 # ・このプログラムを用いた結果、利用者に万一何らかの損害が生じても作者は責任を負えません。 # ・スクリプトの再配布や有償で他人に設置するといった行為は固く禁じます。 # ・広告は、と書いてある部分に入れます。 # #------------------------------------------------------------------------------- $title = "●SIRENSコンパニオンと相性占い 恋愛編!"; #ここにタイトルを書いてください。 $back = "main.html"; #ここに戻りたいページのURLを書いてください。 $body = ''; # ↑BODYタグをここで書きます。 $headline = <$title HEAD # ↑占いのタイトル部分タグをここで書きます。HEADは消さないように気をつけて。 $script_name = $ENV{'SCRIPT_NAME'}; #--------(以下は占いの実行です。) @love =(['B','A','E','D','A','F','B','B','E'],['E','C','C','B','D','A','D','C','D'],['D','F','D','E','A','B','E','C','C'],['A','C','F','D','F','E','F','E','F'],['F','D','A','C','C','E','A','D','B'],['A','E','B','E','B','A','C','F','D'],['F','C','B','F','D','B','E','D','A'],['B','E','A','C','C','D','B','E','F'],['A','C','F','D','F','B','E','A','C']); %mystery = ('a' => '10','b' => '11','c' => '5','d' => '21','e' => '9', 'f' => '1','g' => '12','h' => '6','i' => '17','j' => '14', 'k' => '16','l' => '0','m' => '13','n' => '19','o' => '4', 'p' => '22','q' => '0','r' => '15','s' => '2','t' => '7', 'u' => '3','v' => '0','w' => '8','x' => '0','y' => '20', 'z' => '18'); # 入力データの取得 if($ENV{'REQUEST_METHOD'} eq 'GET') { $query_string=$ENV{'QUERY_STRING'}; }else{ read(STDIN, $query_string,$ENV{'CONTENT_LENGTH'}); } &qs; if ($qs{'ACTION'} eq 'execute'){ if(!$qs{'GIRL'} || !$qs{'BOY'}){ &error('入力エラー','記入漏れがあります。女性、または男性のお名前をローマ字で入力してください。'); } &fortune;&result;&output;} else{&form;} exit 0; #---------(本格的に占ってます。) sub fortune{ $girl = 0; $girl_sum = 0; $girl_ = 0; $boy = 0; $boy_sum = 0; $boy_ = 0; #初期値設定 $len = length($qs{'GIRL'}); for($i = 0; $i < $len; $i++){ $str = substr($qs{'GIRL'},$i,1); $girl_sum = $girl_sum + $mystery{$str}; # $girl_sumにgirl配列のすべての数字を足した数が入る #print "GIRL[$i]($str) = $mystery{$str}
"; } #print "GIRL(合計) = $girl_sum
"; $girl = $girl_sum; while(1 < length($girl)){ for($h = 0; $h < length($girl); $h++){ $girl[$h] = substr($girl,$h,1); $girl_ = $girl_ + $girl[$h]; } $girl = $girl_; # girlにgirl_の値を代入。 $girl_ = 0; } $len = length($qs{'BOY'}); for($i = 0; $i < $len; $i++){ $str = substr($qs{'BOY'},$i,1); $boy_sum = $boy_sum + $mystery{$str}; #print "BOY[$i]($str) = $mystery{$str}
"; } $boy = $boy_sum; while(1 < length($boy)){ for($h = 0; $h < length($boy); $h++){ $boy[$h] = substr($boy,$h,1); $boy_ = $boy_ + $boy[$h]; } $boy = $boy_; # boyにboy_の値を代入。 $boy_ = 0; #print "BOY = $boy
"; } $love = $love[$boy-1][$girl-1]; # loveに結果が入る } #---------(占いの結果です。) sub result{ if($love eq 'A'){ $head = '2人はベストカップル!'; $result = <これ以上の組み合わせは考えられないほどの最高の相性です! お互いが相手のことを大切で必要な存在だと強く感じ、人間的にも尊敬しあえる2人です。 まわりからも祝福されて、どこから見てもお似合いなカップルです。

■片思いの場合−−−効果的なアプローチは?

 もうお二人はすでに仲良しなのでは?だけどもっと仲良くなりたい場合は、いっしょにできることをやってみましょう。二人で飲み会の幹事をやったり、目標を持って勉強やスポーツをしたり・・・。 そのうちに少しずつ、お互いの存在がなくてはならないものに変化していくでしょう。

■片思いの場合−−−交際のきっかけは?

 ここは思い切って、あなたの気持をはっきり伝えましょう。電話やEメールではなく、直接逢って素直にストレートに、伝えるのがベストです。

■長続きする交際の秘訣は?

 いつまでも変わらない気持ちで居られるふたり。いつもお互い自然体で居られます。 だけど、お互い甘えすぎないように注意し、主体性を持った行動を。何をやっても二人なら楽しいですが、目的を持って行動し、お互いを高めあうようなお付き合いを。 デートには繁華街などが向いていますが、行きたいところや、やりたいことなど、希望はきちんと相手に伝えて。 END }elsif($love eq 'B'){ $head = '2人はラブラブの熱愛カップル!'; $result = <目が合った瞬間、またはふとしたきっかけで一気に恋に落ち、お互い相手一筋になっていきます。 いきおいでそのまま結婚、なんてこともありえます。 でも、二人のラブラブ・モードに、周りはウンザリしちゃうかも。

■片思いの場合−−−効果的なアプローチは?

 ファースト・インプレッションからお互い気になる存在です。 まずは相手に視線をなげ、笑いかけてみましょう。 相手もあなたのことを意識し始めます。 そして、積極的に話しかけていけば、すぐに仲良くなれるはず。

■片思いの場合−−−交際のきっかけは?

 あなたからどんどんアタックしましょう。冗談っぽく「好き!」って言ってみるのもいいでしょう。 周りのひとの協力もあればなおベストです。

■長続きする交際の秘訣は?

 二人っきりで盛り上がりっぱなしのカップルですが、お互いの家族や友人を大切にすることも大事です。 うまく付き合えるように気遣いを。デートには、話題のデートスポットが◎。 二人の世界を満喫しましょう。しかし、楽しいからといってハメをはずしてばかりではダメです。ケジメはきちんとつけましょう。 また、必要以上に詮索や束縛をしてはいけません。相手のことを信じましょう。 END }elsif($love eq 'C'){ $head = 'いつも仲良し。親友カップル'; $result = <なんでも話せて、いっしょに居るととても落ち着く、そんな二人です。 趣味や好み、性格や容姿も似ていて、「兄妹みたい」周りからも言われます。 相手の喜びや苦しみをわかちあえるカップルでしょう。

■片思いの場合−−−効果的なアプローチは?

 あなたから積極的にアピールするのは避けたほうがいいでしょう。自然に少しずつ仲良くなるのが◎。相手が落ち込んでいるときにそっと元気づけてあげてください。少し仲良くなってきたら、プライベートなことや悩みを相手に打ち明けてみましょう。ただし、深刻すぎる話はダメです。

■片思いの場合−−−交際のきっかけは?

 美しい環境で、二人っきりのときをねらえば、恋の進展が期待できそう。 あなたが好きな人からして欲しいアプローチ方法を考えれば、きっとわかるはず。

■長続きする交際の秘訣は?

 似た者同士なので、ついズルズルとした交際になりそうです。初めは楽しかったデートもだんだんマンネリ化が心配です。友達のように付き合うのもいいですが、男と女としての緊張感も必要。たまには違ったプランのデートで相手を驚かせて。女性は、メイクや服装をガラリと変えてドキッ!とさせてみては。 フレッシュな演出がベター。 END }elsif($love eq 'D'){ $head = 'ケンカもするけど、仲良しカップル'; $result = <仲がいいときと、悪いときの差が激しくて、ケンカの多い恋になりそうなカップルです。 さっきまでのいい雰囲気が急変、争いごとになってしまったり・・・。波のある刺激的なお付き合いになるでしょう。

■片思いの場合−−−効果的なアプローチは?

 大好きな相手に、ついそっけない態度をとったり、つっぱったり・・・なんてことはありませんか? 恋を進めるためには、さりげない優しさで相手の力になってあげましょう。

■片思いの場合−−−交際のきっかけは?

 気持ちを伝えるには、手紙とかきちんとした感じは避けて、冗談っぽく「好き!」って伝えてみましょう。短いEメールでも○。そのほうが受け入れてもらいやすいでしょう。

■長続きする交際の秘訣は?

 小さなことでも、かくし事や嘘は二人を遠ざけます。なんでも話し合ってお互いの信頼感を深めあいましょう。そしていつも自分をみがく努力は忘れずに。デートはきちんと計画を立て、健康的な場所で。お金を使いすぎないように注意しましょう。ケンカは二人にとって日常茶飯事ですが、必ずルールを守って。いつまでもこだわりつづけるのはバツ。 END }elsif($love eq 'E'){ $head = 'なんとなくお互いイライラ・・・'; $result = <まだまだ心のつかめない相手だと感じていませんか? お互いの気持ちが通じにくい二人なので、落ち着いた良い関係になるには時間と努力が必要です。常にお互い協力し合い、思いやることが大切です。

■片思いの場合−−−効果的なアプローチは?

 まずは、相手と頻繁に会うために周りの人の協力が必要です。みんなで楽しく遊んだり、話したりしてさりげなく相手と仲良くなっていきましょう。あなたはいつも明るくさわやかでいて。

■片思いの場合−−−交際のきっかけは?

 手紙にあなたの気持をシンプルに綴って直接渡しましょう。そのほうが気持は伝わりやすいはず。Eメールや電話は避けたほうが良いでしょう。

■長続きする交際の秘訣は?

 話し合うことは大切ですが、あなたの理想を相手に押し付けていませんか。相手の気持ちがわからないなら、相手のペースや性格を注意ぶかく観察し、理解しようと努めて。 相手を見守ってあげるぐらいの余裕が必要です。 美しい景色、おいしい食事など、デートはドラマチックな演出を。二人っきりのデートもいいけど、友達といっしょに遊ぶのも、盛り上がって楽しいでしょう。 END }elsif($love eq 'F'){ $head = 'すれ違いの2人だけど・・・?'; $result = <気持ちが一方通行になりがちです。タイミングにずれがあり、お互いの気持が見えにくい二人です。 相性は良いといえないカップルですが、あなたの努力次第でなんとかなるでしょう。

■片思いの場合−−−効果的なアプローチは?

 相手の趣味や好みはちゃんと把握しておいてください。相手の好きなことには自分も関心を持ち、情報収集する必要があります。相手が好きな趣味の話をしていたら、話を上手くあわせられるように。

■片思いの場合−−−交際のきっかけは?

 テストが悪かった、病気になった、失恋した・・・相手がダメージを受けているときこそチャンスです。 さりげなく電話やEメールで優しさを見せて。相手が元気になったときに、あなたの気持ちをそっと伝えれば良いでしょう。

■長続きする交際の秘訣は?

 理想通りにならなくて、次第にイライラしてしまいそう。それでも、相手に合わせる努力をいつも忘れずに。我慢が多くなりますが、好きなら負けずにがんばって!ただし、相手の重荷にならない程度にがんばってください。デートは相手の行きたいところを優先しましょう。約束の時間に遅れるのは×。 END }else{ $head = "ごめんなさい!!"; $result = < $title $body END print "

$head

\n"; print "
$qs{'GIRL'} さん(秘数$girl)と $qs{'BOY'} くん(秘数$boy) ふたりの恋愛を占いました。\n
"; print "\n"; print "
\n"; print " $result \n"; print "
\n"; print "

|BACK|もう一度占う|

"; print ""; } #---------(QueryStringからのデータを受け取る(半角英字のみ) sub qs{ #入力データのデコード for(split(/&/,$query_string)){ tr/+//; tr/ //; s/%([\dA-Fa-f][\dA-Fa-f])/pack("C",hex($1))/ge; ($key,$value)=split(/=/,$_,2); #htmlのタグを直接書けないようにする $value=~ s///g; #<を に変換する #改行コードの変換 $value=~s/\r\n/\n/g; $value=~s/\r/\n/g; $value=~s/\n//g; $value =~ tr/A-Z/a-z/; $value =~ s/([^a-zA-Z])+//g; $qs{$key}=$value; #keyを添字としたハッシュ変数に格納している } } # --------(最初の入力画面です。編集は慎重に〜〜。) sub form{ print "Content-type: text/html\n\n"; print < $title $body $headline

ヨーロッパで古くから伝わる相性占いです。 なまえの持つ「音」の組み合わせで2人の相性を占います。 ここでは恋愛相手としての相性を占います。
女性と男性の名前をそれぞれローマ字で入力してください。

line

● 女性のおなまえを半角ローマ字で入力してください。
例:さかもと ちあき → sakamototiaki、ゆみ → yumi
 
● 男性のおなまえを半角ローマ字で入力してください。
例:まえさか ゆうき → maesakayuuki、しんたろう → sintarou
 
line (C)1998-2000 Mamiko's Page

END } #---------(エラーメッセージ) sub error{ my($msg1,$msg2) = @_; #↑引数を受け取る print "Content-type: text/html\n\n"; print "エラーメッセージ\n"; print "$body\n"; print "\n"; print "
"; print "

$msg1

\n"; print "

$msg2

\n"; print " | 入力画面へ |"; print "
"; print "\n"; exit; } #---------(おしまい)