Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:perl_programozas

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:linux:perl_programozas [2019/08/16 21:18] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​linux|<​ Linux]]
 +
 +====== Perl nyelv ======
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2019
 +  * [[https://​creativecommons.org/​licenses/​by-sa/​4.0/​|CC Attribution-Share Alike 4.0 International]]
 +  * Web: http://​szit.hu
 +
 +
 +===== Helló világ =====
 +
 +  nano hello.pl
 +
 +<code perl hello.pl>​
 +#​!/​usr/​bin/​perl
 +print "​Helló Világ!\n";​
 +</​code>​
 +
 +
 +Adjunk rá futtatási jogot:
 +  chmod +x hello.pl
 +
 +  ./hello.pl
 +
 +===== Kivitel =====
 +
 +Készítsük el a kivitel.pl fájlt:
 +  nano kivitel.pl
 +
 +<code perl kivitel.pl>​
 +#​!/​usr/​bin/​perl
 +print STDOUT "​alma";​
 +print '​alma';​
 +print 45;
 +print 35, 82, 95;
 +print 35, ' ', 95;
 +print "​alma";​
 +print("​alma"​);​
 +</​code>​
 +
 +===== Kifejezések =====
 +
 +Készítsünk egy kif.pl nevű fájlt:
 +  nano kif.pl
 +
 +A fájl tartalma:
 +<code perl kif.pl>
 +#​!/​usr/​bin/​perl
 +print(3 * 5);
 +print "​\n";​
 +print 3 * 5;
 +print "​\n";​
 +print sqrt(9);
 +print "​\n";​
 +</​code>​
 +
 +===== Változók =====
 +
 +Készítsünk egy valt.pl fájlt:
 +  nano valt.pl
 +
 +A fájl tartalma:
 +<code perl valt.pl>
 +#​!/​usr/​bin/​perl
 +
 +my $a = 35;
 +print $a, "​\n";​
 +</​code>​
 +
 +
 +Az operátorok és a változók között lehetnek szóközök és tabulátorok. ​
 +<​code>​
 +#​!/​usr/​bin/​perl
 +
 +my $a = 35;
 +print $a , "​\n";​
 +</​code>​
 +
 +De írhatjuk egybe:
 +  my $a=35;
 +
 +
 +===== String =====
 +
 +<code perl>
 +my $str1 = "​alma";​
 +my $str2 = '​alma';​
 +</​code>​
 +
 +
 +Készítsünk egy scriptet:
 +
 +<​code>​
 +touch szoveg.pl
 +chmod +x szoveg.pl ​
 +nano szoveg.pl
 +</​code>​
 +
 +<code perl szoveg.pl>​
 +#​!/​usr/​bin/​perl
 +my $str = '​alma';​
 +
 +print "​$str\n";​
 +print '​$str\n',​ "​\n";​
 +</​code>​
 +
 +===== Konkatenálás =====
 +
 +A konkatenálás a szöveg összefűzése. Perl nyelven ezt pont (.) operátorral csináljuk.
 +
 +<​code>​
 +my $str1 = "​bármi";​
 +my $str2 = "​akármi";​
 +my $str3 = $str1.$str2;​
 +</​code>​
 +
 +
 +<​code>​
 +touch konkat.pl
 +chmod +x konkat.pl
 +nano konkat.pl
 +</​code>​
 +
 +<code perl konkat.pl>​
 +#​!/​usr/​bin/​perl
 +
 +my $str1 = "​bármi";​
 +my $str2 = "​akármi";​
 +my $str3 = $str1.$str2;​
 +
 +print "​$str3\n";​
 +</​code>​
 +
 +
 +===== Véletlen szám =====
 +
 +<​code>​
 +touch vel.sh
 +chmod +x vel.sh
 +nano vel.sh
 +</​code>​
 +
 +<code perl vel.sh>
 +#​!/​usr/​bin/​perl
 +
 +my $vel = int(rand(6)); ​
 +
 +print $vel . "​\n";​
 +</​code>​
 +
 +
 +===== Kockapóker =====
 +
 +Amire szükségünk van: 5 véletlen szám egymás mellé írva, szóközzel tagolva.
 +
 +<​code>​
 +touch poker.pl
 +chmod +x poker.pl
 +nano poker.pl
 +</​code>​
 +
 +
 +<code perl poker.pl>​
 +#​!/​usr/​bin/​perl
 +
 +my $k1 = int(rand(6))+1;​
 +my $k2 = int(rand(6))+1;​
 +my $k3 = int(rand(6))+1;​
 +my $k4 = int(rand(6))+1;​
 +my $k5 = int(rand(6))+1;​
 +
 +print "$k1 $k2 $k3 $k4 $k5\n";​
 +</​code>​
 +
 +
 +===== Függvények =====
 +
 +
 +<code perl poker.pl>​
 +#​!/​usr/​bin/​perl
 +
 +sub dobasok {
 +        my $k1 = int(rand(6))+1;​
 +        my $k2 = int(rand(6))+1;​
 +        my $k3 = int(rand(6))+1;​
 +        my $k4 = int(rand(6))+1;​
 +        my $k5 = int(rand(6))+1;​
 +}
 +
 +dobasok();
 +
 +print "$k1 $k2 $k3 $k4 $k5\n";​
 +</​code>​
 +
 +Póker újra:
 +
 +<code perl poker2.pl>​
 +#​!/​usr/​bin/​perl
 +
 +my $k1;
 +my $k2;
 +my $k3;
 +my $k4;
 +my $k5;
 +
 +sub dobasok {
 +        $k1 = int(rand(6))+1;​
 +        $k2 = int(rand(6))+1;​
 +        $k3 = int(rand(6))+1;​
 +        $k4 = int(rand(6))+1;​
 +        $k5 = int(rand(6))+1;​
 +}
 +
 +print "Név: ";
 +my $nev = <​STDIN>;​
 +chomp($nev);​
 +
 +dobasok();
 +print "$nev: $k1 $k2 $k3 $k4 $k5\n";​
 +dobasok();
 +print "​Számítógép : $k1 $k2 $k3 $k4 $k5\n";​
 +
 +</​code>​
 +
 +
 +===== Bekérés =====
 +
 +Bekérni a következő formában lehet:
 +  my $nev = <​STDIN>;​
 +
 +
 +<code perl>
 +...
 +print "Név: ";
 +my $nev = <​STDIN>;​
 +chomp($nev);​
 +
 +my $nevMeret = length $nev;
 +
 +print $nevMeret . "​\n";​
 +
 +dobasok();
 +print "$nev: $k1 $k2 $k3 $k4 $k5\n";​
 +...
 +</​code>​
 +
 +Ékezetek rendezése:
 +<code perl>
 +#​!/​usr/​bin/​perl
 +
 +use utf8;
 +binmode(STDIN,​ ":​utf8"​);​
 +binmode(STDOUT,​ ":​utf8"​);​
 +</​code>​
 +
 +===== Szelekció =====
 +
 +<code perl szelekt.pl>​
 +#​!/​usr/​bin/​perl
 +
 +print "​Dobjunk újra? (i/n): ";
 +my $valasz = <​STDIN>;​
 +
 +chomp($valasz);​
 +
 +if ($valasz eq "​i"​) {
 + print "​Jöhet a dobás...\n";​
 +}
 +
 +</​code>​
 +
 +
 +Mégsem ág használata:​
 +
 +<code perl szelekt.pl>​
 +#​!/​usr/​bin/​perl
 +
 +print "​Dobjunk újra? (i/n): ";
 +my $valasz = <​STDIN>;​
 +
 +chomp($valasz);​
 +
 +if ($valasz eq "​i"​) {
 + print "​Jöhet a dobás...\n";​
 +}else {
 + print "Nem dobunk.\n";​
 +}
 +
 +</​code>​
 +
 +===== Többágú szelekció =====
 +
 +<code perl tobbagu.pl>​
 +#​!/​usr/​bin/​perl
 +
 +print "​Melyik számot szeretnéd újradobni? (1, 2, 3, 4, 5): ";
 +my $valasz = <​STDIN>;​
 +chomp($valasz);​
 +
 +if ($valasz eq "​1"​) {
 + print "Első szám újradobás jön...\n";​
 +} elsif($valasz eq "​2"​) {
 + print "​Második szám újradobás jön...\n";​
 +} elsif($valasz eq "​3"​) {
 + print "​Harmadik szám újradobás jön...\n";​
 +} elsif($valasz eq "​4"​) {
 + print "​Negyedik szám újradobás jön...\n";​
 +} elsif($valasz eq "​5"​) {
 + print "​Ötödik szám újradobás jön...\n";​
 +}else {
 + print "Nem dobunk.\n";​
 +}
 +
 +</​code>​
 +
 +
 +===== Ciklus =====
 +
 +
 +Számok 0-tól 9-ig:
 +
 +<code perl ciklus.pl>​
 +#​!/​usr/​bin/​perl
 +
 +for($i=0; $i<10; $i++) {
 + print $i . "​\n";​
 +}
 +
 +</​code>​
 +
 +
 +
 +<code perl dobasok.pl>​
 +#​!/​usr/​bin/​perl
 +
 +for($i=0; $i<5; $i++) {
 + dobas();
 +}
 +
 +print "​\n";​
 +
 +sub dobas {
 +    print int(rand(6))+1 . " ";
 +}
 +
 +</​code>​
 +
 +===== while ciklus =====
 +
 +<code perl while.pl>​
 +#​!/​usr/​bin/​perl
 +
 +$a = -1;
 +while($a != 0) {
 + print "​Szám:​ ";
 + $a = <​STDIN>;​
 +}
 +
 +</​code>​
 +
 +
 +===== do-while =====
 +
 +<code perl dowhile.pl>​
 +#​!/​usr/​bin/​perl
 +
 +my $szam;
 +do {
 + print "​Szám:​ ";
 + $szam = <​STDIN>​
 +} while  ($szam != 0);
 +
 +</​code>​
 +
  
oktatas/linux/perl_programozas.txt · Utolsó módosítás: 2019/08/16 21:18 szerkesztette: admin