Hvordan til at skrive en "Hello world" i Perl

Der er en god tradition, at det at lære et nyt programmeringssprog starter med at skrive et simpelt program, som viser tekst Hello, world!.

I programmeringssproget Perl, der er flere muligheder for hvordan man kan løse dette problem.

Gemme kode i en fil

Den mest almindelige indstilling for at skrive Hello, world! Perl er at skabe fil hello.pl med et sådant indhold:

▶ Run
#!/usr/bin/perl

print 'Hello, world!';

Og udføre i konsollen:

$ perl hello.pl
Hello, world!

(Hvis du ikke har en computer med Perl, så kan du køre denne kode i browseren https://PerlBanjo.com/5a5b1759f0 ).

Brug odnotrahniki

En anden meget populær metode med henblik på at udlede Hello, world! — brug odnotrahniki. Ikke at oprette en fil med programmet tekst, og hele programmet til at skrive i kommandoprompten:

$ perl -e 'print "Hello, world!";'
Hello, world!

(Og her er linket til denne kode til at køre i browseren https://PerlBanjo.com/62a99008d7 ).

Ikke-standardiserede måder

For at oprette en fil med kode print 'Hello, world!';, eller bruge en simpel odnotrahniki er, hvordan man skriver Hello, world!- program.

Men ud over disse to standard metoder, der er en masse muligheder, som med Perl, så kan du få vist teksten Hello, world!. Nedenfor er et par eksempler. Alle disse programmer bruges til at vise den tekst, Hello, world! ved hjælp af en række tricks. I verden af programmeringssprog Perl er kunsten at få vist en linie af tekst, som en ikke-standard måde (Wikipedia ). Her er nogle lignende programmer.

▶ Run
#!/usr/bin/perl

$_='loH,oe! lrdlwdo';$_.=$1,print$2while s/(..)(.)//;

De følgende to programmer er oprettet ved hjælp af Perl-bibliotek Acme::Øjendråber .

Et program, som viser teksten Hello, world! ved hjælp af kun tegnsætningstegn og kode use re 'eval';:

▶ Run
use re 'eval';
''=~('('.'?'.'{'.('`'|'%').('['^'-').('`'|'!').('`'|',').'"'
.'#'.'!'.'/'.('['^'.').('['^'(').('['^')').'/'.('`'|('"')).(
'`'|')').('`'|'.').'/'.('['^'+').('`'|'%').('['^')').(('`')|
',').('!'^'+').('!'^'+').('['^'+').('['^')').('`'|')').('`'|
'.').('['^'/').('{'^'[')."'".('`'^'(').('`'|'%').('`'|',').(
'`'|',').('`'|'/').','.('{'^'[').('['^',').('`'|'/').(('[')^
')').('`'|',').('`'|'$').'!'."'".';'.('!'^'+').'"'.'}'.')');

Overraskende nok, dette er den tegning med billedet af den kamel er også at arbejde Perl-program, der viser Hello, world!:

▶ Run
use re 'eval';
                                      ''=~('('.'?'
           .'{'.(                   '`'|'%').("\["^
        '-').('`'|                '!').('`'|',').'"'
 .'#'."\!".  "\/".(              '['^'.').('['^'(').(
'['^')').'/'.(('`')|            '"').('`'|')').(('`')|
'.').'/'.('['^"\+").(          '`'|'%').('['^')').('`'
  |',').('!'^('+')).(        '!'^'+').('['^'+').(('[')^
       ')').('`'|')')      .('`'|'.').('['^'/').('{'^'['
      )."'".('`'^'('     ).('`'|'%').('`'|',').('`'|',').
     ('`'|'/').','.(   '{'^'[').('['^',').('`'|'/').("\["^
    ')').('`'|',').   ('`'|'$').'!'."'".';'.('!'^'+').('"').
    '}'.')');$:='.'  ^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,
    ='('^('}');$\=  '`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';
    $/='&'|'@';$,=  '['&'~';$\=','^'|';$:='.'^'~';$~='@'|"\(";
    $^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~=
    '*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=','^'|';$:='.'^
     '~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!'
     ;$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=
      ','^'|';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^
       '}';$\='`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@'
        ;$,='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'(';$^="\)"^ '['
         ;$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~='*'  |((
          '`'));$^='+'^'_';$/='&'|'@';$,='['&'~';$\ =','^'|'  ;$:
            ='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|  '.';$,=   '('
             ^'}'; $\='`'|'!';$:=')'^'}';$~="\*"|   '`';$^=   '+'
                   ^'_';$/='&'|'@';$,='['&'~';$\    =(',')^   '|'
                   ;$:='.'^    '~';$~='@' |"\(";     $^=')'   ^+
                   '[';$/=     '`'|'.';   $,='('     ^"\}";  $\
                   =('`')|     "\!";$:=   "\)"^       "\}";  (
                   ($~))=      '*'|'`';   ($^)         ='+'
                   ^"\_";     $/=('&')|   '@';         ($,)
                    ='['&     "\~";$\=    ','^         '|';
                    ($:)=     '.'^'~'     ;$~=         '@'|
                    '(';     $^=')'       ^'['         ;$/=
                    '`'|     '.'          ;$,=         '('^
                    '}';      $\=         '`'          |((
                    '!'        ));       $:=           ')'
                    ^((         '}'     ));            $~=
                    '*'          |((   '`'              ))
                    ;(             ($^))=               ((
                    ((              '+'))               ))
                    ^+             "\_";$/=             ((
                   '&'            ))|+ "\@";            $,
                  =((           '['))&  '~';           $\=
                 ','^         "\|";$:=   '.'          ^'~'
               ;($~)=                                ('@')|
             "\(";$^=                               ')'^'['

Andre artikler