#!perl use strict; $_= reverse"rekcaH lreP rehtonA tsuJ";&print; exit; sub Cards($$$){my$__;seek(DATA,0,0);$/="$__";=~m((\x21));push(@_=>"$1\n");} sub Fun{=~/[SEX]/;splice(@_,-1,0,uc $&);$_[$|].=uc$&." ";$_[8]=uc$&;$_[2].=" ";} sub Flowers{for(reverse sort{($a=~/(m)/i and$*=$1 or $a=~/\W+\w{3}\W+/)<=>$b=~/m/i or $a!~/\W+(\w{3}\s+)*?\S+/}keys%SIG){last if$$=chop;next unless$$++;}splice(@_=>1,0=>$*);&TwoLips;} sub TwoLips{($a=(split(/[A-Z]/))[1])=~tr(ansliteration)/ab/cd;splice(@_,-3,0,uc chop$a);&Yum;} sub CandyHeart{for(@_){length>5 and next;print;}} sub Yum{eval("use Candy::Chocolates;");if ($@=~/\s*([\w\/]+).pm/){splice(@_,-4=>0,uc chr vec($1,2=>8));splice(@_,-1,0,uc chr vec($1,2,8));$_[4].=uc substr($1,-5,1);}} sub Hearts{$==length;@_=(\$$=>\\$$=>\%*=>\*$);for($$=$#_+1;$$;){$!=rand($$--+1);$_[$$,$!]=$_[$!,$$];}$#_=4;for(reverse@_){$_ or next;$,=ref$_;$;=length$,;$^T=0;for(0..($;)-1){$^T+=vec($,,$_,$=/3);}$$=chr$^T/$;;;}push(@_=>$$);$,="";&Diamonds;} sub Diamonds{push(@_=>chr(substr($=,-1,1)+substr($=,0,1).substr($=,-1,1)+substr($=,0,1)));&Clovers;}#Feeling lucky?? sub Clovers{eval;$*=2;$*=uc((split(chr($***$***$**$*)=>$@))[5]);substr($*,1,1)="";splice(@_,1,0,$*);&Moons;} sub Moons{unshift(@_=>chop(@_[7]),(split''=>(ref \@_))[4]);} sub print($){$$-=$$;$!=@_[$$]=~s(((\W+[\w{4,5}]+?)(\032?(\w+?).*)(?:\1+)\x3A{1,2}.+))($2?$1?$3?"$2$1$3":"$3$2$1":"$1$3$2":$1;)e;&Hearts;!$$ or &Gifts;} sub Gifts{&Cards;&Flowers;&Fun;&CandyHeart;} __DATA__ Data?!? LOVE does not require data! (but this script does!)