﻿#!/usr/bin/perl use strict; use Term'ReadKey;ReadMode 'cbreak';\$,=\$/;\$/=++\$b+\$b;\$=='8';\$b=\$= x28;\$*=\$=x2;@!=(qw(4 _ " a 1 1 0 0 ));\$![7]=`clear` ;push(@!,split shift(@!),q 7\$=W8W\$=8\$b eq "j"8W\$=8\$=W8 \$b eq "l"8W\$=8W!8(\$b eq"k"&&\$_!~/!/)a#W\$=8#\$=W8\$=W#8W\$=#8#!8##a\*8 \$=8p\$=8\$=p 8\$=q8q\$=8p(#.{59})\$=8\$=\$ 1q8#q(.{60 })\$=8#\$=\$1 pap(.{60})!8\$![0]++;"\*\$ 1\$="8q(.{6 0})!8\$![0] ++;"\*\$1\$="8(t.*)!8\$b=(l ength\$1)-6 1;substr(\$ 1,0,\$b )."!". substr(\$1, \$b+1).\$=4x "gs'"x"c"es'"c"z"gs if'.shift"z"l"just another perl hacker"l 4'SpaceInvaders'.(\$=x12).'domm@plix.at j=left k=gun l=right' _'#'x58_("\$*p\$*"x11).\$=x3_\$*.("\$*\$*q"x11).\$=_("p\$*\$*"x11).\$= x3_(\$=x3).("\$*\$*q"x11)_1_\$b.\$=."W\$b"_'#'x 587);j(split shift @!,pop@!);a(split shift@!,pop@!);push(@!,split shift@!,pop@! );\$_=\$a;map{s/\n//g}@!;map{s/v//g}@!;map{s/ //g}@!;&p;sub'j {\$_=shift;\$a.=m/^1/?("#\$b\$=\$=\$b#\$,"x12):"#".eval( )."#\$,";@_ &&j(@_)}sub'END{ReadMode 'normal' }sub'a{eval"sub'".pop().'{ eval\'s/\'.(shift).\'/\'.(shift).\'/'.pop().';@_&&'.pop().'( @_)}';@_&&a(@_)}sub'p{\$b=ReadKey -1;\$![1]%3==0&&x(split\$=,\$! [6]);z(split\$=,\$![4]);x(split\$=,\$![5]);c(split\$=,\$![7]);\$![1 ]++;select+(\$-,\$-,\$-,0.05);(\$![2]=\$_)=~s/\$=/ /g;/pW|Wq/&&h(' Game over');\$_=~/(p|q)(?![la])/ || h('Earth is saved');print \$![3],\$![2 ];&p}sub h{print \$![ 3],shift," You killed \$![0] space invaders ",\$,;exit}