╪eÜenφ


╪eÜenφ p°φkladu 1.

#!/usr/local/bin/perl
#
# Jednoduchy program
#
$text = 'Prvni program.';
print "$text\n";		# Tisk zpravy

Porovnßnφ v²stupu p°φkazu print

@ovoce  = ("jablka", "hrusky", "svestky");

print @ovoce;	        # vlastnφ pole
jablkahruskysvestky     # v²sledek

print "@ovoce";	        # Uzav°eno v uvozovkßch
jablka hrusky svestky   # v²sledek

print @ovoce."";	# Ve skalßrnφm kontextu
3                       # v²sledek


╪eÜenφ p°φkladu 2.

#!/usr/local/bin/perl
#
$file = 'prac.txt';		# jmΘno souboru je ulo₧eno do prom∞nnΘ
open(INFO, $file);	        # otev°enφ souboru
$cislo = 0;                     # inicializace poΦφtadla °ßdek
while ($radek = <INFO>) {       # Φtenφ °ßdek souboru
++$cislo;                       # zv²Üenφ poΦφtadla o 1
print "$cislo $radek";          # tisk °ßdky s Φφslem
}                               # konec cyklu Φtenφ 

╪eÜenφ p°φkladu 3.

#!/usr/local/bin/perl
#
$file = 'ceskywww.txt';	    # 	
open(INFO, $file);	    # otev°enφ souboru
$cislo = 0;                 # inicializace prom∞nnΘ cislo
while ($radek = ) {   # Φtenφ °ßdku souboru
chop $radek;                # odstran∞nφ znaku konec °ßdky
if ( $radek ne "" ) {       # nenφ °ßdek prßzdn²?
   ++$cislo;                # p°iΦtenφ 1 do prom∞nnΘ Φφslo
   print "$cislo $radek\n"; # opis °ßdku s Φφslem
   }                        # konec bloku pro neprßzdnΘ °ßdky
   else {                   # blok pro prßzdnΘ °ßdky
   print "$radek\n";        # opis prßzdnΘho °ßdku bez Φφsla
   }                        # konec bloku pro prßzdnΘ °ßdky
}                           # konec cyklu Φtenφ 

╪eÜenφ p°φkladu 4.

PoΦφtßnφ °ßdek s °et∞zcem ne
$file = 'ceskywww.txt';		
open(INFO, $file);	
$cislo = 0;
while ($radek = ) {
chop $radek;
if ( $radek =~ /ne/ ) { # vyhledani retezce ne, pokud se najde plati vyraz v zavorce
   ++$cislo;
   print "$cislo $radek\n"; 
   }
   else {
   print "$radek\n"; 
}
}
PoΦφtßnφ °ßdek s °et∞zcem ne nebo Ne, v p°edchozφm °eÜenφ nahradφme vyhledßvacφ °ßdek tφmto °ßdkem:
if ( $radek =~ /[Nn]e/ ) {

PoΦφtßnφ °ßdek se slovem ne nebo Ne, v p°edchozφm °eÜenφ nahradφme vyhledßvacφ °ßdek tφmto °ßdkem:
if ( $radek =~ /\b[Nn]e\b/ ) {

Pou₧itφ implicitnφ prom∞nnΘ $_:

$file = 'ceskywww.txt';		
open(INFO, $file);	
$cislo = 0;
while () {
chop;
if ( /ne/ ) {
   ++$cislo;
   print "$cislo $_\n"; 
   }
   else {
   print "$_\n"; 
}
}


╪eÜenφ p°φkladu 5.

$file = 'ceskywww.txt';		
open(INFO, $file);	
$cislo = 0;
while ($radek = <INFO>) {
chop $radek;
if ( $radek =~ s/(\S)\1/\($&\)/g  ) { # nahrazeni dvojice stejnych znaku dvojici 
                                        # uzavrenou v zavorkach, dvojice je ulozena
                                        # v promenne $&
   ++$cislo;
   print "$cislo $radek\n"; 
   }
   else {
   print "$radek\n"; 
}
}
2. modifikace (prvnφ dvojice stejn²ch znak∙ nenφ v zßvorkßch)
$file = 'ceskywww.txt';		
open(INFO, $file);	
$cislo = 0;
while ($radek = ) {
chop $radek;
if ( $radek =~ s/(\S)\1/\($&\)/g ) {
     $radek =~ s/\((\S)\1\)/\1\1/;
   ++$cislo;
   print "$cislo $radek\n"; 
   }
   else {
   print "$radek\n"; 
}
}
close(INFO);
3. modifikace p°edßnφ °et∞zce pomocφ parametru
Vyhledßvacφ °ßdek je pot°eba v p°edchßzejφcφm °eÜenφ nahradit °ßdkem
if ( $radek =~ s/${ARGV[0]}/\(${ARGV[0]}\)/g ) {


╪eÜenφ p°φkladu 6.

$file = 'ceskywww.txt';		
open(INFO, $file);
	
while ($radek = ) {
chop $radek;
  if ( $radek =~ s/http:/http:/ ) {          # vyber radku s retezcem http:
    print "$cislo $radek\n"; 
    @cast = split(/ +/,$radek);              # rozdeleni radku na casti oddelene mezerami
    $i = 0;
      until ($i > $#cast) {                  # cyklus pres vsechny casti
        if ($cast[$i] =~ s/http:/http:/) {
        @prvek = split(/\//,$cast[$i]);      # rozdeleni casti obsahujici retezec http: na 
                                             # casti podle znaku /
        print "jmeno pocitace = $prvek[2]\n";
     ++$i;
     }
  }


}
close(INFO);


PEGASNETPEGASNET

PEGASNETPEGASNET

PEGASNETPEGASNET

PEGASNETPEGASNET