He estado escuchando mucho sobre este "Perl moderno". ¿Qué es?¿Qué es "Perl moderno"?
Una de las cosas que oí fue la nueva sintaxis abierta:
open my $FH, '<', $filename
y no
open FH, "<$filename";
¿Qué otra cosa es en Modern Perl?
He estado escuchando mucho sobre este "Perl moderno". ¿Qué es?¿Qué es "Perl moderno"?
Una de las cosas que oí fue la nueva sintaxis abierta:
open my $FH, '<', $filename
y no
open FH, "<$filename";
¿Qué otra cosa es en Modern Perl?
Para añadir algunos detalles a la vista de deinst, Modern Perl:
given
/when
) y say
use strict
y use warnings
También: evitando variables globales, prefiriendo los de ámbito léxico y los usuarios, escribiendo código modular y reutilizable, usando CPAN, pruebas, pruebas y más pruebas ! – szbalint
El 'interruptor 'al que se ha vinculado no es una función de Perl 5.10. Es un módulo básico ahora obsoleto. Es posible que desee pensar en ['given' /' when'] (http://perldoc.perl.org/perlsyn.html#Switch-statements) –
@ Ven'Tatsu: corregido. Gracias por la corrección. –
Modern Perl no es un nombre propio; es simplemente algo que las personas podrían decir para referirse al código Perl que usa características que solo están disponibles en los últimos X años, donde X variará de persona a persona.
Para obtener información sobre varios cambios en Perl, consulte los archivos perldelta, por ejemplo, en http://perldoc.perl.org/index-history.html.
(Sí, el el título del libro y el nombre del módulo son nombres propios, pero eso claramente no es lo que se quería decir en la pregunta.) – ysth
Para citar la programación Perl Moderno source
, alrededor del año 2010, se basa en la sabiduría colectiva de todo el ecosistema Perl . Es hora de escribir el código elegante, confiable, mantenible, bien probado y predecible.
Véase también, the book. Y esta cita del libro
Modern Perl es una descripción suelta de cómo funcionan los programadores Perl 5 experimentados y efectivos. Usan lenguaje idiomático. Aprovechan el CPAN. Son reconociblemente Perlish, y muestran buen gusto y artesanía y una comprensión completa de Perl.
Para ser específicos a su pregunta relacionada con la apertura de un identificador de archivo en Perl moderna: Se debe utilizar la forma de tres argumentos, en lugar formato de dos argumentos!
Utilice la forma de tres argumentos de open
para especificar las capas de E/S (también denominadas "disciplinas") para aplicarlas al identificador. Afecta cómo se procesa la lectura-escritura (ver http://perldoc.perl.org/functions/open.html para más detalles). Por ejemplo:
open(my $fh, "<:encoding(UTF-8)", "filename")
|| die "can't open UTF-8 encoded filename: $!";
[Para hacer frente a la cabeza de ejemplo, se argumenta que la IO procesal no es moderno Perl] (http://www.perlmonks.org/?node_id=763565) - por lo que ya hemos ver una diferencia en este término que se puede comparar fácilmente a "Web 2.0". –
Perl moderno == http: //www.ruby-lang.org/en/ – whaley
Creo que una pregunta más controvertida e interesante sería: * ¿Puedo escribir OO perl moderno sin el uso de 'Moose'? * –