Je me suis impliqué dans un nouveau projet où Perl est un must. Je viens d'une bonne fondation de rubis et je veux une introduction rapide ou une cartographie entre Perl et Ruby, car j'ai entendu dire que Perl et Ruby sont très proches de la syntaxe (ne rien savoir sur les fonctionnalités). p>
5 Réponses :
Avez-vous des recommandations pour moi? P> blockQuote>
Perl.org est un bon site pour obtenir des ressources p>
Quel grand livre Perl recommandez-vous comme une référence étendue? P> blockQuote>
Programmation Perl et L'apprentissage Perl est très agréable, mais jetez également un look ici A > p>
Quelle est la version commune utilisée de Perl en ce moment? P> blockQuote>
dépend de votre plate-forme, jetez un look ici P>
I Deuxième livre de Nathan Recs Recs, bien que je mentionnerais aussi début perl em>. Deux fonctionnalités bonus sont (1) il est disponible librement (et légalement) en ligne dans sa première édition a> (Remarque: ce site est chronométrant en ce moment et je ne suis pas sûr si cela est temporaire ou non) et (2) il couvre autant que l'apprentissage perl em> et perl intermédiaire < / em> combiné. Un con est que c'est parfois plus élémentaire que vous voudrez peut-être. ( l'apprentissage perl em> va plus vite et suppose un peu plus - ce qui peut être une bonne chose.) p>
Vous pouvez également consulter ceci: En termes de versions, 5.10.1 est stable, mais vous rencontrerez une gamme. Pour la plupart, vous trouverez 5,8.x et up, je soupçonne. (Comme avec Ruby 1.9.1 est stable, mais vous trouverez de nombreux endroits toujours en utilisant 1,8,6 ou plus.) P>
Depuis que je vais un peu dans la direction opposée (je sais que Perl de manière raisonnable et j'utilise de plus en plus de rubis de plus en plus), je peux mentionner des choses qui m'entendent: p>
(Notez que je n'ai pas mentionné le gorille de 1000 livres dans la pièce. OO fait partie de ce que Perl est et peut faire, mais ce n'est pas au centre de Perl, comme c'est dans Ruby.) P>
.to_f code> ou en faisant un élément de flotteur). Li >
pendant code> bloc.) Li>
0 code> (chaîne, entier et flotteur),
Undef code> et la chaîne vide évaluez comme
false code> dans les tests booléens. li>
true code> et
false code>. li>
$ foo code> est un scalaire;
@foo code> est un tableau;
% foo code> est un hachage. (Les tableaux en particulier vous bogueront: ils ne sont pas des variables d'instance.) Li>
Le problème avec le lien vers Début de Perl i> était temporaire: log.perl.org/2009/10/fuel-pump-fail.html
Moose fait certainement le rubyomètre Twig un peu :)
Pouvez-vous clarifier ce que vous voulez dire dans le point 5 sur les tableaux de ne pas être des variables d'instance? Les variables complexes dans la plupart des langues sont transmises par référence et il appartient au programmeur de cloner l'objet si nécessaire. Perl n'est pas différent dans la respect, est rubis?
Eric Strom: Il souligne cela parce que dans les sigils rubis désignant la portée. Donc, un @var à Ruby est similaire à un "My" Var à Perl.
@ERIC: J'étais averti Khelll sur une ambiguïté visuelle. Dans Ruby, @variable code> indique quelque chose à propos de la portée d'une variable (c'est une variable d'instance), mais dans Perl, le
@ code> vous indique immédiatement sur le type de données (c'est un déployer). Si vous passez d'une langue à l'autre, le décalage des signaux visuels peut être un jarring - pour dire le moins - au début.
Merci, cela a du sens et montre à quel point j'ai vu peu de rubis, mais je suppose que c'est bien d'avoir la clarification ici.
@ ne signifie pas une matrice dans Perl. Cela signifie plusieurs éléments, comme dans @hash {@Keys}.
Dans l'enquête Perl 2007 ***, la majorité des codeurs Perl utilisaient Perl 5.8, avec 87% en utilisant 5,8.x au moins une partie du temps et 5.8.8 étant la version unique la plus courante. Une minorité utilisait 5.6.x pour au moins certains projets et une minorité plus petite (mais occasionnellement assez de voix) utilise 5,005. Depuis que ce point Perl 5.10 a été libéré et ce n'est pas encore clair, quel est le taux d'adoption; probablement de nombreuses entreprises sont en cours de conservation et de fonctionnement 5.8.8 ou 5.8.9, mais beaucoup de ce que vous pourriez appeler des "pirates de premier plan" utilisent 5.10.1 et même parfois nécessiter ses caractéristiques. P>
perldoc perl code> ou vous pouvez lire en ligne sur perdoc.perl.org a>. Celles-ci sont presque aussi bonnes référence que la programmation PERL EM> car en fait une partie décente de ce livre est tirée des Perldocs. Je recommanderais au moins une étincelle détaillée de Perlsyn, Perlop, Perlrun, Perlvar, Perlre, Perlobj, Perlmod, Perluniintro, Perlrefut et Perldsc. Lire tout droit à travers Perlfunc une fois, n'est pas une mauvaise idée non plus. Li>
- Programmation perl efficace EM> est un livre que j'ai toujours recommandé pour apprendre à approcher des problèmes avec un cadre d'esprit Perl. Sa date de publication de 1998 limite son utilité un peu, mais je pense toujours que cela vaut la peine de lire - et heureusement, Brian D Foy et Josh Mcadams travaillent sur une édition mise à jour, à condition (je pense - ne me faites pas confiance trop loin sur cette ) Mars 2010. [ et La deuxième édition est maintenant ici - Brian em>] < / li>
- Perlmonks est une excellente ressource, surtout si vous vous souvenez d'utiliser la fonction de recherche. Une grande quantité de questions a été posée et répondit là-bas, et les meilleures réponses sont indexées pour la postérité, ainsi que des listes de ressources telles que des livres et des FAQ en ligne. Li>
ul>
***: J'aimerais donner un lien vers l'enquête Perl 2007, mais malheureusement, le domaine Perlsurvey.org a été autorisé à se rendre. Une copie de Les résultats PDF peuvent être trouvés à GitHub, et les données la plus répandues sont sur CPAN sous forme de données :: perlsurvey2007 code>. p>
Un excellent article (les résultats de l'enquête sont très utiles), mais je dois être en désaccord avec une chose. apprendre Perl i> fait avec catégorie pas i> couvrir "toutes les caractéristiques majeures de la langue". En début, il ne couvre pas ces: références, OO en Perl, um - références, structure de données complexe (voir références). Je recommande à peu près que quiconque achète apprentissage perl i> achète également perl intermédiaire i> immédiatement, à moins qu'ils ne prévoient que d'écrire uniquement des scripts de courtoison.
Vous m'avez bien eu. Peut-être que Début de Perl i> est une meilleure recommandation puisqu'il devient plus approfondi, mais j'ai toujours été reporté par son style d'écriture / enseignement.
@Hobbs: Ne vous méprenez pas, j'adore apprendre Perl i>. Je pense juste que c'est une partie d'un film de deux parties.
Perlsurvey 2007 (et le planifié suivant) se trouve sur GitHub: Github.com/singingfish/perl -Suvey-2009 Le rapport de 2007 peut être trouvé là (Perlsurvey2007A4.PDF).
Les gens continuent à me dire ramasser perl est daté et ils ont raison mais c'est un tel Introduction concise que je recommanderais de le lire, puis sauter directement dans perl intermédiaire et En outre, je vraiment em> strong> Recommander la lecture Liste de la FAQ avant de faire autre chose. P>
Si vous êtes un fan d'introductions quelque peu idiosyncratiques à Perl, j'aime aussi Apprentissage de Perl de la dure i>. L'auteur propose un fichier PDF librement ou vous pouvez acheter une version d'une image morte de Lulu: GreenteAppress.com/perl a>
@Telemachus j'aime ce livre.
Je recommande "Programmation Perl", "Perl meilleures pratiques" et le "Perl Cookbook" également. p>
Le livre "PBP" est bon, non pas parce que cela vous enseigne des règles, mais parce que cela vous fait arrêter et réfléchir à la raison pour laquelle vous devriez faire des choses d'une certaine manière et faire une décision éduquée lorsque vous décidez de vous écarter de la voie recommandée par Conway . p>
Quant à la documentation, j'utilise souvent les documents de CPAN comme ils sont les liens hypertextes les plus courants et offrent des hyperliens, ce que nous ne recevons pas de la section locale perdocs sur notre lecteur. P>
Une des choses que j'ai adorées à propos de Ruby quand j'ai commencé à l'utiliser par rapport à Perl, était gemmes vs cpan. Garder un ensemble de gemmes actuels semble tellement plus facile qu'un ensemble de modules basés sur CPAN. p>
Et, comme Sinan dit, les FAQ sont une grande lecture. J'ai lu et je les ai relissies plusieurs fois parce que la connaissance est bonne de garder dans votre tête. P>
Et, bien qu'ils puissent être plutôt émoussés, les perlmonks sont une ressource merveilleuse. Il suffit de rechercher et de lire comment ils recommandent de faire des choses peuvent augmenter votre conscience Perl plusieurs niveaux, même si vous ne les engagez pas avec une question directe. P>
Et, dans le chemin du moine, contemplez les hachages de Perl et apprendre à les trancher. Ils sont le shiz. P>
En tant que quelqu'un qui a passé des années et des années à la programmation Perl, passa ensuite à Ruby, je vais suggérer un vêtement de grandes peintres pour garder le sang d'aller partout lorsque vous vous abattres les poignets. :-) La "liberté" de Perl semblera probablement un peu désordonnée et déroutante. J'écris et soutenons toujours le code Perl et j'ai toujours hâte de revenir au codage de rubis car il se sent ... plus propre.