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;