dotfiles/bin/orly
michener 83d40113d2 First import
git-svn-id: http://photonzero.com/dotfiles/trunk@1 23f722f6-122a-0410-8cef-c75bd312dd78
2007-03-19 06:17:17 +00:00

119 lines
1.6 KiB
Perl
Executable file

#!/usr/bin/perl
#
# Globals
#
use vars qw/$deftext %opt /;
#
# Command line options processing
#
sub init()
{
use Getopt::Std;
my $opt_string = 'hdoynsi';
getopts( "$opt_string", \%opt ) or usage();
usage() if $opt{h};
}
#
# Message about this program and how to use it
#
sub usage()
{
print STDERR << "EOF";
orly -- Print an O RLY owl
usage: $0 [-hdoyn] [<MESSAGE>]
-h : this (help) message
-o, -d : print the "O RLY" owl
-y : print the "YA RLY" owl
-n : print the "NO WAI!" owl
-s : Print "SRSLY" as a question, statement or
exclamation, respectively for the above.
-i : take MESSAGE from STDIN
EOF
exit;
}
sub printorly() {
$deftext = "O RLY?";
print << "EOO"
___
{o,o}
|)__)
-"-"-
EOO
}
sub printyarly() {
$deftext = "YA RLY";
print << "EOO"
___
{o.o}
|)_(|
-"-"-
EOO
}
sub printnowai() {
$deftext = "NO WAI!";
print << "EOO"
___
{o,o}
(__(|
-"-"-
EOO
}
$givenstatement = "";
for ($i=0; $i<($#ARGV + 1); $i++)
{
if (substr($ARGV[$i],0,1) ne "-")
{
$up = uc($ARGV[$i]);
$givenstatement = "$givenstatement$up ";
}
}
init();
if ($opt{i}) {
while (<STDIN>) {
$givenstatement = $givenstatement.uc($_);
}
chomp($givenstatement);
}
if ($opt{y}) {
printyarly();
$deftext = "SRSLY" if ($opt{s});
}
elsif ($opt{n}) {
printnowai();
$deftext = "SRSLY!" if ($opt{s});
}
elsif ($opt{d} || $opt {o}) {
printorly();
$deftext = "SRSLY?" if ($opt{s});
}
elsif ($opt{s}) {
printyarly();
$deftext = "SRSLY";
}
else {
printorly();
}
if ($givenstatement)
{
print "$givenstatement\n";
}
else
{
print "$deftext\n";
}
exit;