Есть добрая традиция что изучения нового языка программирования начинается с написания простой программы которая
выводит на экран текст Hello, world!
.
Есть добрая традиция что изучения нового языка программирования начинается с написания простой программы которая
выводит на экран текст Hello, world!
.
На языке программирования Perl есть несколько вариантов как можно решить эту задачу.
Самый стандартный вариант для того чтобы написать Hello, world!
на Perl — это создать
файл hello.pl
со таким содержимым:
#!/usr/bin/perl
print 'Hello, world!';
И выполнить в консоли:
$ perl hello.pl
Hello, world!
(Если под рукой у вас нет компьютера с Perl, то вы можете запустить этот код в браузере — https://PerlBanjo.com/5a5b1759f0 ).
Другой достаточно популярный способ для того чтобы вывести Hello, world!
— использовать однострочник. Не создавать файл с текстом программы,
а всю программу набрать в командной строке:
$ perl -e 'print "Hello, world!";'
Hello, world!
(И вот ссылка на этот код для запуска в браузере https://PerlBanjo.com/62a99008d7 ).
Создать файл с кодом print 'Hello, world!';
, или использовать простой однострочник — это то как нужно писать Hello, world!
программу.
Но кроме этих двух стандартных способов есть еще куча вариантов как с помощью Perl можно вывести на экран текст Hello, world!
.
Ниже несколько примеров. Все эти программы выводят на экран текст Hello, world!
используя разнообразные трюки. В мире языка программирования
Perl есть искусство вывести на экран строчку текста как можно более нестандартным способом (википедия ).
Тут приводятся несколько подобных программ.
#!/usr/bin/perl
$_='loH,oe! lrdlwdo';$_.=$1,print$2while s/(..)(.)//;
Следующие две программы созданы с помощью Perl библиотеки Acme::EyeDrops .
Программа, которая выводит текст Hello, world!
используя только символы пунктуации и код use re 'eval';
:
use re 'eval';
''=~('('.'?'.'{'.('`'|'%').('['^'-').('`'|'!').('`'|',').'"'
.'#'.'!'.'/'.('['^'.').('['^'(').('['^')').'/'.('`'|('"')).(
'`'|')').('`'|'.').'/'.('['^'+').('`'|'%').('['^')').(('`')|
',').('!'^'+').('!'^'+').('['^'+').('['^')').('`'|')').('`'|
'.').('['^'/').('{'^'[')."'".('`'^'(').('`'|'%').('`'|',').(
'`'|',').('`'|'/').','.('{'^'[').('['^',').('`'|'/').(('[')^
')').('`'|',').('`'|'$').'!'."'".';'.('!'^'+').'"'.'}'.')');
Удивительно, но вот это псевдографика с изображением верблюда — это тоже работающая Perl программа, которая выводит на экран Hello, world!
:
use re 'eval';
''=~('('.'?'
.'{'.( '`'|'%').("\["^
'-').('`'| '!').('`'|',').'"'
.'#'."\!". "\/".( '['^'.').('['^'(').(
'['^')').'/'.(('`')| '"').('`'|')').(('`')|
'.').'/'.('['^"\+").( '`'|'%').('['^')').('`'
|',').('!'^('+')).( '!'^'+').('['^'+').(('[')^
')').('`'|')') .('`'|'.').('['^'/').('{'^'['
)."'".('`'^'(' ).('`'|'%').('`'|',').('`'|',').
('`'|'/').','.( '{'^'[').('['^',').('`'|'/').("\["^
')').('`'|','). ('`'|'$').'!'."'".';'.('!'^'+').('"').
'}'.')');$:='.' ^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,
='('^('}');$\= '`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';
$/='&'|'@';$,= '['&'~';$\=','^'|';$:='.'^'~';$~='@'|"\(";
$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~=
'*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=','^'|';$:='.'^
'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!'
;$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=
','^'|';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^
'}';$\='`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@'
;$,='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'(';$^="\)"^ '['
;$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~='*' |((
'`'));$^='+'^'_';$/='&'|'@';$,='['&'~';$\ =','^'|' ;$:
='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'| '.';$,= '('
^'}'; $\='`'|'!';$:=')'^'}';$~="\*"| '`';$^= '+'
^'_';$/='&'|'@';$,='['&'~';$\ =(',')^ '|'
;$:='.'^ '~';$~='@' |"\("; $^=')' ^+
'[';$/= '`'|'.'; $,='(' ^"\}"; $\
=('`')| "\!";$:= "\)"^ "\}"; (
($~))= '*'|'`'; ($^) ='+'
^"\_"; $/=('&')| '@'; ($,)
='['& "\~";$\= ','^ '|';
($:)= '.'^'~' ;$~= '@'|
'('; $^=')' ^'[' ;$/=
'`'| '.' ;$,= '('^
'}'; $\= '`' |((
'!' )); $:= ')'
^(( '}' )); $~=
'*' |(( '`' ))
;( ($^))= ((
(( '+')) ))
^+ "\_";$/= ((
'&' ))|+ "\@"; $,
=(( '['))& '~'; $\=
','^ "\|";$:= '.' ^'~'
;($~)= ('@')|
"\(";$^= ')'^'['