Update: The camel now jumps in the air while somersaulting.
camel.pl:
(Save all text between the ------ lines below)
------------------------------------------------------------------
''=~('(?{'.(
('`')| '%').('['^'-').
('`'|'!'). ('`'|',').'"'.('['
^'(').('[' ^'.'). ('`'|'"').('{'^'[').
'_\\{'.('['^('(')).( '['^'"').('['^('(')).(
'['^'/').('`'|"\%").( '`'|'-').'\\$^'.(('`')^
'/').'=~'.('{'^',') .('`'|')').('`'|'.').'?'.(
'`'^'#').('`'^ ',').('{'^'(').':'."'".("\`"|
'#').('`'|',') .('`'|'%').('`'|'!').('['^"\)").
"'".';'.(('[')^ '+').('['^')').('`'|')').('`'|'.').
('['^'/').'\\$' .'\\"'.('['^'#').'+'.('`'|'!').(('`')|
'"').('['^'('). '(\\$=/'.('^'^('`'|'-')).'*('.('^'^('`'|
',')).'*\\$|-' .'\\$;)),\\$_,\\$/'.('`'|'&').('`'|'/').(
'['^')').'\\@' .'_;'.('['^'(').('`'|',').('`'|'%').("\`"|
'%').('['^'+').('{'^'[').('^'^('`'|'/')).'\\}'.('`'|'/').(
'['^'+').('`'|'%').('`'|'.').'\\$%;'.('`'|'#').('`'|"\(").(
'`'|'/').('['^'+').','.('['^'"').',!-~,#,,'.('['^'(').',('
.'.).?,\\$+,'.('`'|"'").('`'|'&').('`'|'/').('['^')').'\\@'
.'~='.('`'|"'").('['^')').('`'|'%').('['^'+').('\\$|--,(').
"'"."'".')'.('['^'#').('^'^('`'|'/')).(':'&'=').',<'.('^'^
('`'|'.')).'>;\\@;='.('`'|'-').('`'|'!').('['^('+')). '~'
.'~'.('['^')').('`'|'%').('['^'-').('`'|'%').("\["^ ')'
).('['^'(').('`'|'%').','.('['^')').('`'| ('%')).( '['
^'-').('`'|'%').('['^')').('['^"\(").( '`'|'%' ).+
'\\@' .'~;(\\$;=\\$_%'.('^'^('`'|'-' )).')|' .((
'|')).'(--\\$|,'.('`'|"\-").( '`'|'!' ).(
'['^'+') .'\\{\\$_' .'='.( ('[')^ ((
')'))). ('`'|'%' ).('[' ^'-'). +(
'`'|'%' ).("\["^ ')'). ('['^ (
'(')). ('`'|'%' ).(( '\\'
)).'}' .'\\@~,'. '\\' .'@'
.';)' .',_\\$' .';' .'&'
.('^' ^("\`"| '/') ).((
'?') ).'\\' .'@' .';'
.':' .(( '\\' )).+
'@~' .+( '`' |((
'&' ))) .+( '`'
|(( '/' ))) .+(
'[' ^(( ')' ))
). '\\$%' .+
(( '.')) .+
(( "\.")).( ((
'^' ))^( "\`"| ((
'/' )))).( '^'^ (((
'`') )|'/')). '"' .'}'
.')'); $:='.'
^'~';$~= '@'|'('
------------------------------------------------------------------
To run this program, save as camel.pl (say), then:
perl camel.pl
and watch the camel somersault across the screen.
camel.pl above was created with:
perl gencamel.pl >camel.pl
where gencamel.pl is:
use Acme::EyeDrops qw(sightly);
my $src = <<'END_SRC_STR';
sub _{system$^O=~Win?CLS:'clear';
print$"x+abs($=/3*(2*$|-$;)),$_,$/for@_;sleep 1}
open$%;
chop,y,!-~,#,,s,(.).?,$+,gfor@~=grep$|--,('')x18,<0>;
@;=map~~reverse,reverse@~;
($;=$_%3)||(--$|,map{$_=reverse}@~,@;),
_$;&1?@;:@~for$%..11
END_SRC_STR
$src =~ tr/\n//d;
my $prog = sightly( { Regex => 1,
Compact => 1,
Shape => 'camel',
SourceString => $src } );
my @a = split(/\n/, $prog);
my $max = 0; length > $max and $max = length for @a;
$_ .= ' ' x ($max - length) for @a;
print " $_ \n" for @a;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.