Autor Thema: Ein bischen Spaß muss sein: Quine  (Gelesen 537 mal)

Offline RichardCZ

  • Tester
  • Sr. Member
  • ****
  • Beiträge: 597
  • WHIP! HoBo war gestern.
    • Experimenteller FHEM Fork
Ein bischen Spaß muss sein: Quine
« am: 26 März 2020, 17:05:07 »
Dieser Code ist schon ein paar Jahre alt und stammt von PerlMonks. Ich habe nur den Aufruf leicht modifiziert, weil heutige Rechner so schnell sind, dass man den Effekt gar nicht sehen würde

Theoretisch solltet ihr unter Linux auf der Kommandozeile den Code unten (als Datei "spiral.pl") so laufen lassen können:

spiral.pl | perl -we 'use Time::HiRes "sleep"; $/="\e"; while(<>){ print; sleep 0.04 }'

dann könnt ihr laufendem Perl Code dabei zusehen, wie er sich selbst modifiziert. Das ist natürlich unwartbar und so ziemlich am anderen Spektrum dessen, was wir für FHEM möchten. Aber es ist funny und vielleicht demonstriert es auch ein wenig das Potential eines Mustangs "der einem die Zähne einkickt wenn man ihn nicht bändigt".

Auf jeden Fall als kleiner Kontrast zum drögen PBP "mach dies, mach nicht das" gedacht. Have fun!  8)

Code: (perl) [Auswählen]
#!/usr/bin/env perl
$_='
         $q ="\                   47"; wh
        ile                           ($ ;=
      $z                +=              .5 ){
    %c=           $r=0;$/ ="";whi         le(2
   0+          $z>($;+=.05)){$c{int$       _+ 2
  6+         2*($              r+= .0       2) *
 s          in$                   ;}{1       -$_
+1         0+           int        $r*c       o s
$         ;}         =1for(0.       .1)        }$
t        =r         ever se;$        /.        =`
c        le        ar     `.         "         #!
/        usr       /bi             n/         pe
rl       \n\       $_ =$q        \n"          ;
fo        r$y        (1..20){$c{$_}          {
$ y       }? $         /.=chop$t            :
 ($/        . ="                          \4
 0")         for(0.                    .99)          ;
   $/.        ="\n"}pri            nt"$/$          q;
   s; ".         chr(9 2)."s;;g;eval\n           "}

';s;\s;;g;eval


# call this script in shell like this:
# spiral.pl | perl -we 'use Time::HiRes "sleep"; $/="\e"; while(<>){ print; sleep 0.04 }'
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.