Last active
June 17, 2016 22:18
-
-
Save 3rdp/1218a1ac5b41fe3f7175e5d9f0edb4cd to your computer and use it in GitHub Desktop.
балуюсь с perl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use strict; | |
use warnings; | |
# print "Hello world. " x 80; # умножение | |
# print "\n\nHello world!"; | |
# print "Hello" ge "wor"; | |
# my $var = 'A string'; # объявляем скаляр | |
# print $var; | |
# my @arr = ( # массив | |
# "print ", | |
# "this ", | |
# 2, | |
# " ", | |
# ); | |
# print @arr; # выводит весь массив от 0++ | |
# print "@arr"; # тоже выводит, только добавляет пробелы | |
# print '@arr'; | |
# print $arr[1]; # this | |
# print @arr[1]; # тоже самое, только с предупреждением | |
# print "\nКол-во элементов в массиве: " . (scalar @arr); | |
# print "\nПоследний индекс: " . $#arr . "\n"; | |
# print @ARGV; # аргументы при запуске | |
# my $line = <STDIN>; # ввод текста в переменную | |
# print $line; | |
# <STDIN>; # просто ждешь пока юзер нажмет Enter | |
# # у 17.06 14:02 экз | |
# my $thx = '"Программируем веб-сайты с помощью Perl"'; | |
# # $thx = '"Программируем веб-сайты с помощью Perl"'; | |
# print "Спасибо за $thx\n\n"; | |
# # 14:05 | |
# my @list = ('a','c','b'); | |
# my @sorted = sort @list; | |
# print @list, @sorted; | |
# my $str = 'Some string'; | |
# substr($str,0,4) = 'Lower E'; # замена куска строки | |
# print "\n", $str; | |
# my %hash = ( | |
# one => 'pizza', | |
# 'two' => 'cake', | |
# 3 => 11, | |
# '3' => 12, # просто переписывает пред | |
# 2 => 'cherry', | |
# 1 => 'dsd', | |
# ); | |
# print keys %hash; | |
# print "\n\n", join" ", keys %hash; # доставляет :D same as join(" ", keys(%hash)) | |
# # заметь как я пренебрегаю скобочками: | |
# print "\n\n", $hash{'2'}, ' ', $hash{one}, ' ', $hash{3}, ':', $hash{'3'}; | |
# open FILE, 'one'; | |
# print tell FILE, "\n"; # where: 0 | |
# my $line = <FILE>; | |
# print tell FILE, "\n"; # where: 5 | |
# $line = <FILE>; | |
# my @lines = <FILE>; | |
# print $line, "\n\n", @lines; # 'tricky' | |
# close FILE; | |
# if (0) { | |
# print "\nfirst"; | |
# } elsif (1) { | |
# print "\ntwo"; | |
# } else { | |
# print "\nthree"; | |
# } | |
# my $dalek_prisoners = 5; | |
# while(my $dalek_prisoners = 5) { # eternal loop | |
# # while($dalek_prisoners) { | |
# # until(!$dalek_prisoners) { | |
# print "Ex-ter-min-ate\n"; | |
# $dalek_prisoners--; | |
# } | |
# foreach my $i (0 .. 10) { | |
# # foreach my $i ( qw(One Two Three) ) { | |
# # print $_, "\n"; | |
# print "$i squared is: ", $i*$i, "\n"; | |
# } | |
# print $_."\n" foreach qw(One Two Three); | |
# foreach (0 .. 10) { | |
# print "$_ squared is: ", $_*$_, "\n"; | |
# } | |
# # print $i == undef; # true, причем my в foreach необязательно (если не в strict mode, а то выкинет) | |
# my %months = ( | |
# Jan => 31, | |
# Feb => 28, | |
# Mar => 31, | |
# Apr => 30, | |
# ), | |
# $flag; | |
# foreach (keys %months) { # default variable | |
# print "$_ has $months{$_} days\n"; | |
# $_ == 'Apr' && !$flag ? sub { $flag = 1; redo; }->() : 0; # что-то страшное | |
# } | |
# print $_.' ' foreach keys %months; | |
# print $_.' ' foreach values %months; | |
# while (<STDIN>) { | |
# print; | |
# } | |
# # or | |
# while ( defined($_=<STDIN>) ) { | |
# print $_; | |
# } | |
# desire('pizza'); | |
# sub desire { | |
# my ($str) = @_; # интересное решение | |
# print "\nI want $str\n" # последнюю строку можно не закрывать | |
# } | |
# sub first { &second }; | |
# sub second { print @_."\n"; &third } | |
# sub third { print $_." " foreach @_ } | |
# first('one','two','three'); | |
my $var = sub { return "\ntext\n" }->(); | |
print $var; | |
my $str = "\nNeat string", | |
my $str2 = "\nNeat string"; | |
substr($str,0,5) = 'Lower E'; | |
$str2 =~ s/Neat/Lower E/; # ведь более удобно, чем высчитывать индексы? | |
print $str eq $str2; # пусто ??? | |
print $str, $str2."\n"; | |
sub routine2 { | |
my($n) = @_; #local variable and parameter | |
print $_."\n" foreach (0..$n); # $_ - default variable for FOREACH | |
}; | |
routine2(5); | |
sub { | |
my($n) = @_; #local variable and parameter | |
print $_."\n" foreach (0..$n); # $_ - default variable for FOREACH | |
}->(5); | |
sub routine { | |
my($n) = $_[0]; #local variable and parameter | |
foreach (0..$n) { # pretty damn similar to "for i in range(0,6)" in Python | |
print $_; # $_ - default variable for FOREACH | |
print "\n"; | |
} | |
} | |
&routine(5); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment