Perl е чудесен език, с богата документация и прекрасно общество. Въпреки
това езикът е неприветлив и сложен. Ruby наследява много от нещата,
направили Perl икона в някои програмистки среди.

### Прилики

Както в Perl, така и в Ruby …

* Съществува пакетна система, подобна на CPAN (наречена [RubyGems][1])
* Регулярните изрази са вградени в езика. Бон Апети !
* Скобите са често пренебрегвани и неизползвани
* Низовете работят по същия начин.
* Налична е интерполация на низове, оградени с двойни кавички –
  `"#{obj.size}"`
* Използването на шел команди се изпълнява в обратни `` `кавички` ``.
* Разполагате с вградено средство за документация (В Ruby се казва
  rdoc).

### Разлики

За разлика от Perl, в Ruby …

* Липсват контекстно-зависими правила, както в Perl.
* Променливата не представлява обекта, който сочи. В Ruby променливите
  са референция към обект.
* Въпреки, че `$` и `@` се ползват като първи символ в името на
  променливите, те не се ползват за идентификация на типа, а за
  идентификация на обхвата (`$` за глобална променлива, `@` за
  инстанция на обект и `@@` атрибут на класа).
* Масивите се означават с квадратни скоби
* Създаването на списък от други списъци запазва структурата си, а не ги
  обединява в един глобален списък. Получава се масив в масива.
* Вместо `sub`, имаме `def`.
* Няма нужда от точка и запетая в края на реда. Евентуално за край на
  дефиниция на метод, клас или условен израз се ползва ключовата дума
  `end`.
* Обектите са strongly typed, което значи, че трябва да използвате
  `foo.to_i`, `foo.to_s` и т.н, за конвертиране на типове.
* Липсват `eq`, `ne`, `lt`, `gt`, `ge` или `le`.
* Липсва оператора `<>`. Вместо това се ползва `IO.метод`.
* `=>` се използва само за хеш литерали.
* Липсва `undef`. Вместо това имаме имаме `nil`. `nil` е обект (както
  всичко друго в Ruby) и няма значение на недефинирана променлива.
* Когато тестваме за истинност, само `false` и `nil` представляват лъжа.
  Всичко друго е истина (включително `0`, `0.0`, `""` и `[]`).
* Липсва [PerlMonks][2]. Вместо това имаме ruby-talk пощенски списък.



[1]: http://guides.rubygems.org
[2]: http://www.perlmonks.org/
