Jak napisać "Hello world" na Perl

Jest dobra tradycja, że nauka nowego języka programowania rozpoczyna się od napisania prostego programu który wyświetla tekst Hello, world!.

W języku programowania Perl jest kilka opcji jak można rozwiązać to zadanie.

Zapisz kod programu do pliku

Najbardziej standardowa opcja, aby napisać Hello, world! na Perl — to utworzyć plik hello.pl z zawartością:

▶ Run
#!/usr/bin/perl

print 'Hello, world!';

I wykonać w konsoli:

$ perl hello.pl
Hello, world!

(Jeśli pod ręką nie masz komputera z Perl, to możesz uruchomić ten kod w przeglądarce — https://PerlBanjo.com/5a5b1759f0 ).

Użyć jedno-liner

Innym dość popularnym sposobem, aby wyprowadzić Hello, world! — użyć jedno-liner. Nie tworzyć plik z tekstem programu, a cały program wpisać w wierszu polecenia:

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

(A oto link do tego kod do uruchomienia w przeglądarce https://PerlBanjo.com/62a99008d7 ).

Niestandardowe sposoby

Utworzyć plik z kodem print 'Hello, world!';, lub użyć prostego jedno-liner — to jak trzeba pisać Hello, world!program.

Ale oprócz tych dwóch standardowych sposobów jest mnóstwo opcji, jak za pomocą Perl można wyprowadzić na ekran tekst Hello, world!. Poniżej kilka przykładów. Wszystkie te programy wyświetlają się na ekranie tekst Hello, world! za pomocą różnych sztuczek. W świecie języka programowania Perl jest sztuka wyświetlić linijkę tekstu, jak można bardziej nietypowy sposób (wikipedia ). Poniżej zamieszczono kilka podobnych programów.

▶ Run
#!/usr/bin/perl

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

Następujące dwa programy stworzone za pomocą Perl biblioteki Acme::EyeDrops .

Program, który wyświetla tekst Hello, world! tylko za pomocą znaków interpunkcyjnych i kod use re 'eval';:

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

Zaskakujące, ale to псевдографика z wizerunkiem wielbłąda — to też działająca Perl program, który wyprowadza na ekran Hello, world!:

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

Inne artykuły