
         
          ,   ,
     ,    -
  ,               -
   .  Perl     -
  (packages).  ,    -
  ,    .   -
      -  -
 ,        -
 ,                  .
 ,       
  (name-spaces),     
  , . . .   -
  ,     (  -
 )  ,     
.

#     one.pl
sub sub_one
        {
                package demo_one;
                $some_data = 10;
        }

#  *  *  *  *  *  *  * *

#     two.pl
sub sub_one
        {
                package demo_two;
                $some_data = 20;
        }

       ,      
demo_one,      demo_two. 
            
$some_data          
 .
      <>  ,     -
,       ,     
    .     -
 package_one  package_two     
   some_data:

&sub_one;
&sub_two;

print " 1 $package_one'some_data\n"
print " 2 $package_two'some_data\n"

          Perl,    -
         -
    package   ,   -
 :

package some_package_name

$some_data = 1;

sub some_sub
        {
                return $some_data;
        }

         $some_data      
      .   -
 ,  ,       -
,       ,    -
        ,  
  .        
    :

require 'some_package.pl';
print &some_package_name'some_sub;

      
             -
,    .     
       .
    ,   Perl     
,       .

      CHOP
      chop    .   -
 :

$character = chop(Str);

      chop   .   Perl
  chop          
    .

      INDEX
      index       -
.    :

        $location = index(Str, SubStr[, Offset]);

      index      
(SubStr)   (Str).       
 (Offset),    .   
 ,    -1.      -
 index    ''    
 'banana':

print index('banana','na',3);   #  4.
                                                                                                          i -
      RINDEX
      rindex  ,      -
            
.    :

        $location = rindex(Str, SubStr);

         index,     ,
    ,   . ,  
    rindex      
   'na'   'banana':

print rindex('banana','na');    #  4

      LENGTH
      length     .  
 :

        $len = length(Str);

         length     
   :

print length('banana'); #  6

      SUBSTR
      substr     .   
  :

        $substring = substr(Str, Offset[,Len]);

       , . .  ,   -
   ,     
Len.    str     -
,   Offset.   Len ,  -
         .
  Offset ,      -
 .  ,     substr  lvalue
   .    -
   substr.

print substr('orange',3);       # 'nge'
print substr('orange',-2);      #  'ge'
print substr('orange',2,2);     #  'an'
$str = 'apple';
substr($str,-3) = 'ricot';
print $str;                     #  'apricot'

:     Perl    -
      ,      
substr.       .

      JOIN
      join     ,   
   .    :

$new_string = join(Str,List);

      join         
 .      -
  join:

$str = join(',', 0..4,10,20);   #   '0,1,2,3,4,10,20'
$strn = join ("\t", $a, $b, $c);#  

      SPLIT
      split       -
.    :

        split(Delimeter, Str[,Limit]);

      Delimeter  ,      -
 , , , ,    
.  .    Limit     
,     .    -
   split.

        
                -
  ,    ,      -
 ,        
     .    -
      ,    -
      .

      REVERSE
      reverse   .    -
 :

   @new_list = reverse(@List);

      reverse         -
 .     
 reverse:

        @list = reverse(1..5);  #  5,4,3,2,1
        @list = reverse(@list); #  1,2,3,4,5

      SORT
      sort   .    
:

@new_list = sort(@List);



@new_list = sort(Subroutine @List);



@new_list = sort(BlockStatement @List);

      sort    ,    
        ASCII--
.      reverse,   sort   -
           -
.      sort:

@list = sort (1,5,2,3,4);               #  1,2,3,4,5
@list = sort(1,2,10);                   # 1,10,2   ASCII

             ,    
    .    
   sort.

@list = sort({$a <=> $b} (2,1,10));             # @list 1,2,10
@list = sort({$b <=> $a}) (2,1,10);             # @list 10,2,1

sub mycomp
        {
                $b <=> $a
        }

@list = sort(mycomp (2,1,10));          # @list 10,2,1

        
      ,        ,
       ,  -
,  100  .  Perl     
,       .   -
         
 .

      PUSH  POP
       Perl   push   pop    ,
       .   -
,   push  pop      
  :  ,   .   push
  :

push(@ARRAY, LIST);

     push:

@list = ();
push(@list,10,20);              # @list  (10,20)
push(@list,1..3);               # @list  (10,20,1,2,3)

         pop  , -
             
.  pop   :

$value = pop(@ARRAY);

          -
 pop:

#  @list   

        print pop(@list);                       #  3
        print pop(@list);                       #  2

        #  @list (10,20)


      SHIFT
      shift        -
.     pop    , 
      FIFO (< ,  -
 >).  shift   :

$value = shift(@ARRAY);

          -
 shift:

#  @list   

print shift(@list);             #  10
print shift(@list);             #  20

        #  @list ()

      UNSHIFT
      unshift        -
 .    :

unshift(@Array, List);

          -
 unshift:

# @list  = ()
unshift(@list,5,10,20);         # @list (5,10,20)
unshift(@list, 1..3);                   # @list (1,2,3,5,10,20)

      SPLICE
       Perl   splice  ,  -
    ,       
.    :

splice(@Array, Offset[, Count[, List]]);

      splice       {Count)
  (@rra),   ,    -
  (Offset),        
 (List).           Count,
      .    -
    ,      -
 ,        -
 .    -
  splice:

@list = 1..10;
splice(@list,1,8,5,6);          # @list = (1,5,6,10)

      SCALAR
      scalar       .    
  :

Rsult = scalar(List);

        Perl      -
 scalar   ,     -
  ,      ,    
        -
.    ,       scalar  
,        
 .      -
  scalar.

@list = 1..10;
print scalar(@list);                    #   @list

      GREP
      grep   ,     -
    <>.       
:

@list = grep(Expression, List);

      grep   ,    
    .    grep  -
      $_   
 .      ,
  grep       .
       
grep:

@list = grep($_ & 1, 1..10);            # @list (1,3,5,7,9)
@list = ('a', '' 'b');                  # @list ('a',' ','b')
@list = grep($_ eq '', @list);          # @list ('a','b')

:  ,  .  $_,   -
    .

        
      ,    -   ,  
     , , , .
  Perl    ,   -
    .

      KEYS
      keys   ,     
 .    :

@key_list = keys(%Array);

      keys          
.       
 keys:

$ages{'Bob'} = 25;
$ages{'Mary'} = 30;
$ages{'Zack'} = 15;
@list = keys(%ages);     # @list  'Zack', 'Bob', 'Mary'
@list = sort keys %ages  # @ list 'Bob', 'Mary', 'Zack'

for $key        (sort keys %ages)
        {
                print "$key is $ages{$key}\n"
        }

      VALUES
      values   ,    -
  .    :

@value_list = values(%Array)

      values        
    .     
   values:

        #     
        %ages = ('Bob', 25, 'Mary', 30, 'Zack', 15);

        @list = sort values %ages;              # @list  (15, 25, 30)

        @list =  %ages;                 # @list ('Zack', 15, 'Bob',  25, 'Mary', 30)

      EACH
      each       -
 .    :

        @key_values = each(%Array);

      ,     each,   -
    ,     --
.     ,    
.          
.      
 each:

#     
%ages = ('Bob', 25, 'Mary', 30, 'Zack', 15);

while (($name, $age) = each %ages)
        {
                #  ages
                print "$key is $ages{$key}\n";
        }


      DELETE
      delete    .  
  :

Delete $Array{Key}

           delete    ,
  ,     Bob    
 $Employees:

        Delete $Employees{'Bob'}

       
        Perl        
 .  ,   ,  Perl -
        
@ARGV.        
   :

while ($arg = shift @ARGV)
        {
                print "$arg\n";
        }

        
              
 Perl   .         
Perl        
 %ENV.      %ENV  
  :

print "$ENV{PATH}\n";           #   

          %ENV,    -
   .    %ENV -
       -,
 . ,    
 %ENV    :

$ENV{PATH} = 'c:\\myexec;'.$ENV{PATH};

: ,       %ENV,  
    .   ,  
       -
.