Perl е чудесен език, с богата документация и прекрасно общество. Въпреки това езикът е неприветлив и сложен. Ruby наследява много от нещата, направили Perl икона в някои програмистки среди.
Прилики
Както в Perl, така и в Ruby …
- Съществува пакетна система, подобна на CPAN (наречена RubyGems)
 - Регулярните изрази са вградени в езика. Бон Апети !
 - Скобите са често пренебрегвани и неизползвани
 - Низовете работят по същия начин.
 - Налична е интерполация на низове, оградени с двойни кавички –
"#{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. Вместо това имаме ruby-talk пощенски списък.