Search     or:     and:
 LINUX 
 Language 
 Kernel 
 Package 
 Book 
 Test 
 OS 
 Forum 
 iakovlev.org 
      Languages 
      Kernels 
      Packages 
      Books 
      Tests 
      OS 
      Forum 
      Математика 
NEWS
Последние статьи :
  Тренажёр 16.01   
  Эльбрус 05.12   
  Алгоритмы 12.04   
  Rust 07.11   
  Go 25.12   
  EXT4 10.11   
  FS benchmark 15.09   
  Сетунь 23.07   
  Trees 25.06   
  Apache 03.02   
 
TOP 20
 Advanced Bash Scripting G...1859 
 Ethreal 4...1286 
 Secure Programming for Li...1060 
 CPAN-> FAQ...950 
 Intel 386...630 
 Тренажёр...510 
 Go Web ...494 
 Trees...425 
 Ethreal 1...423 
 Максвелл 3...393 
 Alg1...381 
 Rust...369 
 C + UNIX...348 
 Ext4 FS...344 
 Assembler...341 
 William Gropp...337 
 Mod_parrot...329 
 2.0-> Linux IP Networking...326 
 Benchmark...320 
 Rodriguez 6...316 
 
  01.01.2025 : 3803065 посещений 

iakovlev.org
Этот сайт написан на perl .
Необходимый минимум пакетов :
   Perl 
   Apache
   MySQL 
   Mozilla
     
Perl своими конструкциями напоминает язык программирования C . Оператор require выполняет примерно ту же файловую функцию , что и си-шный #include. Perl поддерживает модульность . Директива use позволяет использовать готовые модули , которые представляют из себя файлы с расширением .pm и в заголовке которых стоит ключевое слово package. Пример :
 Создадим файл mypackage.pm и запишем в него следующий текст :
   
  package mypackage;
  require Exporter;
  @ISA = qw(Exporter);	
  @EXPORT = qw(myfunc);
  
   sub myfunc
  {
    print "myfunc";
  }
 
Теперь в другом файле достаточно сделать вызов :
     use mypackage;
     myfunc;
     		     
В перле можно выполнять вызов системных команд , например простая строка
    system "date"    
распечатает текущее время . Это же можно сделать другим способом :
 
    exec "date"    
В перле есть понятие 'ссылка' аналогичное си-шному . Пусть нам дан массив из 10 чисел :
   @array = (1..10);
Создадим ссылку на него :
  $this_reference = \@named_array;
Распечатаем массив , передав ссылку на него в качестве параметра функции : unchomp($this_reference);
 sub unchomp 
 {
     my $ref = shift;
     for $element (@{$ref}) 
     {
       $element .= "\n";
       print $element;
     }
 }
 
Более того , можно создать массив из указателей и передать его в качестве параметра !
 @named_array2       = (11..20);
 $this_reference2 = \@named_array2;
 @this_reference_global = ($this_reference,$this_reference2);
   for $aref (@this_reference_global) 
   {
     unchomp($aref);
   }
    
В перле есть именованные массивы - хэши:
     $hash = {
        "fred" => "flintstone",
        "barney" => "rubble",
        "betty" => "rubble",
          };
 		 
    $game = {
        "fred" => [180, 150, 165],
        "barney" => [172, 190, 158],
 	     };
    print $hash->{"fred"}  ;
 
  
Оставьте свой комментарий !

Ваше имя:
Комментарий:
Оба поля являются обязательными

 Автор  Комментарий к данной статье
max
  Вот спасибо за статью!!! Очень помогла!!!
2006-08-01 21:20:27