Introdução às Linguagens de Programação/Perl: diferenças entre revisões

m
sem resumo de edição
mSem resumo de edição
{{Navegação2|[[Introdução às Linguagens de Programação/Java|Java]]|[[Introdução às Linguagens de Programação/PHP|PHP]]}}
==Introdução==
[[imagem:Larry Wall YAPC 2007.jpg|thumb|right|Lerry Wall, criador do Perl.]]
[[imagem:Tetracubes.svg]]
PERL é o acrônimo de Practical Extraction and Report Language. A linguagem surgiu em 1987 no universo UNIX e é obra de uma única pessoa, Larry Wall. Até os dias de hoje, Wall continua liderando o aperfeiçoamento da sintaxe da Perl.
[[imagem:PentominoCompatibilityTW.svg]]
[[imagem:Larry Wall YAPC 2007.jpg|thumb|right|'''Lerry Wall criador do Perl.''']]
PERL é o acrônimo de Practical Extraction and Report Language. A linguagem surgiu em 1987 no universo UNIX e é obra de uma única pessoa, Larry Wall, um guru. Até os dias de hoje, Wall continua liderando o aperfeiçoamento da sintaxe da Perl.
 
(PERL stands for Practical Extraction and Report Language. The language appeared in 1987 and UNIX in the universe is the work of a single person, Larry Wall, a guru. Even today, the Wall continues to lead the improvement of the syntax of Perl).
 
(PERL è l'acronimo di Practical Extraction and Report Language. Il linguaggio apparve nel 1987 e UNIX nell'universo è opera di una sola persona, Larry Wall, un guru. Ancora oggi, il muro continua a guidare il miglioramento della sintassi di Perl).
 
Um detalhe muito importante nessa linguagem é que, como é uma linguagem de script de programas, as pessoas fornecem, gratuitamente, o código-fonte para seus programas. Esse detalhe facilita o aprendizado ao Perl por meio de exemplos e você também pode fazer o download e modificar milhares de scripts para seu próprio uso. Portanto, uma das coisas ruins a respeito do Perl é que boa parte desse código livre é impossível de entender, ele tem um estilo totalmente enigmático. É uma linguagem de escrita de programas muito clara, amplamente conhecida e bastante respeitada, usada para uma variedade de tarefas como, por exemplo, para criar o equivalente dos arquivos batch do DOS ou scripts shell C, mas, no contexto do desenvolvimento da Web, ela é usada para desenvolver scripts CGI.
 
(A very important detail in this language is that, as a scripting language programs, people give for free the source code for their programs. This detail facilitates the learning Perl by example and you can also download and modify thousands of scripts for their own use. Therefore, one of the bad things about Perl is that much of this free code is impossible to understand, he has a totally enigmatic. It is a language for writing programs very clear, widely known and highly respected, used for a variety of tasks, for example, to create the equivalent of DOS batch files or shell scripts C, but in the context of Web development, it is used to develop CGI scripts).
 
(Un detalle muy importante en este lenguaje es que, como los programas de lenguaje de scripting, la gente da para código libre de la fuente de sus programas. Este detalle facilita el aprendizaje de Perl con el ejemplo y también se puede descargar y modificar miles de secuencias de comandos para su propio uso. Por lo tanto, una de las cosas malas acerca de Perl es que gran parte de este código libre es imposible de entender, tiene una enigmática totalmente. Es un lenguaje para escribir programas muy claros, muy conocido y muy respetado, que se utiliza para una variedad de tareas, por ejemplo, para crear el equivalente de DOS archivos por lotes o scripts de shell C, pero, en el contexto del desarrollo Web que se utiliza para desarrollar scripts CGI).
 
Se você conhece a linguagem de programação C, isso será mais fácil para você. O Perl é fácil de usar quando conhecemos os fundamentos. Neste artigo, vamos começar mostrando como fazer as tarefas de programação mais comuns usando Perl. No final, você poderá escrever seus próprios scripts em Perl, com relativa facilidade e ler scripts enigmáticos escritos por outras pessoas com um pouco mais de facilidade, o que será um bom ponto de partida.
 
(If you know the C programming language, it will be easier for you. Perl is easy to use when you know the basics. In this article, we begin by showing how the most common programming tasks using Perl. In the end, you can write your own scripts in Perl, with relative ease and read cryptic scripts written by others with a little more easily, which is a good starting point).
 
(Si conoces el lenguaje de programación C, será más fácil para usted. Perl es fácil de usar cuando se conoce lo básico. En este artículo, se empieza por mostrar cómo las tareas de programación más comunes usando Perl. Al final, usted puede escribir sus propios scripts en Perl, con relativa facilidad y leer guiones crípticos escritos por otros con un poco más fácil, que es un buen punto de partida).
 
==História==
 
Perl (Practical Extraction and Report Language) é uma linguagem de programação derivada dos scripts shell, criada em 1986 por Larry Wall para desenvolver um sistema de 'News' entre duas redes. Trata-se de uma linguagem interpretada cuja maior vantagem é sua adaptação à manipulação de cadeias de caracteres. Além disso, suas funcionalidades de manipulação de arquivos, diretórios e bancos de dados transformaram Perl na linguagem preferida para a escrita de interfaces CGI.
 
==PERL - uma linguagem aberta (an open language)==
 
[[Ficheiro:Lorenz attractor.svg|thumb|260px|[[Atractor de Lorenz]] calculado com [[octave]] e convertido para [[SVG]] utilizando um script Perl]]
 
De acordo com a filosofia UNIX, Perl é uma linguagem de código aberto. Suas possibilidades e aplicações crescem a cada nova versão do Interpretador Perl. A partir da versão 5.0, a Perl suporta a programação orientada a objetos. Apesar disto, a Perl continua sendo uma linguagem de script cuja principal característica é a manipulação de dados, repleta de truques de automatização. A linguagem recebeu um enorme impulso e tornou-se uma "febre" quando passou a ser utilizada na programação de CGIs utilizadas na World Wide Web (According to the UNIX philosophy, Perl is an open source language. Its possibilities and applications grow with each new version of the Perl interpreter. From version 5.0, Perl supports object-oriented programming. Despite this, remains a Perl scripting language whose main feature is the data manipulation, full automation of tricks. The language received a huge boost and became a "fever" when he used to be used in CGI programming on the World Wide Web).
 
Perl é considerada uma linguagem de hackers, com a qual se pode obter resultados incríveis através dos comandos de um programa. Para os principiantes, o código fonte de um script Perl mais parece um desastre de conversão ou um dump acidental. A linguagem possui uma sintaxe temperamental que, propositadamente, não se prende a padrões predefinidos. Perl se baseia na linguagem C, porém não pode ser comparada à C, ao Pascal ou a outra linguagem qualquer das modernas 4GL. Quem conhece outras linguagens de programação e resolver encarar a Perl terá que reaprender muita coisa mas, em compensação, descobrirá aspectos muito interessantes (El lenguaje Perl se considera un hacker, con el que usted puede conseguir resultados sorprendentes con los comandos de un programa. Para empezar, el código fuente de un script en Perl se parece a un desastre de una conversión o descarga accidental. El lenguaje tiene una sintaxis temperamental que a propósito no se adhieren a patrones predefinidos. Perl está basado en C, pero no se puede comparar con C, Pascal o cualquier otro lenguaje de 4GL moderno. ¿Quién sabe otros lenguajes de programación Perl y resolver para hacer frente a la necesidad de volver a aprender mucho, pero a cambio, usted descubrirá muchos aspectos interesantes).
 
==O interpretador Perl==
 
Arquivos PERL são simples arquivos de texto ASCII que contêm comandos na sintaxe Perl. Você pode produzir tais arquivos com qualquer editor de texto que produza arquivos em ASCII puro (como o Bloco de Notas). Para executar os comandos de um arquivo Perl é necessária a ação de um interpretador Perl.
 
O interpretador Perl é FREEWAREgratuito e está disponível para vários sistemas operacionais. Além disto, o código fonte do interpretador, em linguagem C, também está disponível. Isto significa que, se você possuir um compilador C, poderá compilar o interpretador para qualquer sistema operacional que desejar.
 
==DesignPlataforma==
 
Pode ser instalado em diversas plataformas como Unix, Windows, MVS, VMS, Macintosh, OS/2, Amiga, etc.
The design of Perl can be understood as a response to three broad trends in the computer industry: falling hardware costs, rising labor costs, and improvements in compiler technology. Many earlier computer languages, such as Fortran and C, aimed to make efficient use of expensive computer hardware. In contrast, Perl is designed to make efficient use of expensive computer-programmers.
 
Perl has many features that ease the task of the programmer at the expense of greater CPU and memory requirements. These include automatic memory management; dynamic typing; strings, lists, and hashes; regular expressions; introspection; and an eval() function. Perl follows the theory of "no built-in limits", an idea similar to the Zero One Infinity rule.
 
==Vantagens==
Wall was trained as a linguist, and the design of Perl is very much informed by linguistic principles. Examples include Huffman coding (common constructions should be short), good end-weighting (the important information should come first), and a large collection of language primitives. Perl favors language constructs that are concise and natural for humans to write, even where they complicate the Perl interpreter.
 
Além disso, Perl possui:
Perl syntax reflects the idea that "things that are different should look different." For example, scalars, arrays, and hashes have different leading sigils. Array indices and hash keys use different kinds of braces. Strings and regular expressions have different standard delimiters. This approach can be contrasted with languages such as Lisp, where the same S-expression construct and basic syntax are used for many different purposes.
 
*Um alto grau de portabilidade;
Perl does not enforce any particular programming paradigm (procedural, object-oriented, functional, or others) or even require the programmer to choose among them.
 
There is a broad practical bent to both the Perl language and the community and culture that surround it. The preface to Programming Perl begins: "Perl is a language for getting your job done." One consequence of this is that Perl is not a tidy language. It includes many features, tolerates exceptions to its rules, and employs heuristics to resolve syntactical ambiguities. Because of the forgiving nature of the compiler, bugs can sometimes be hard to find. Perl's function documentation remarks on the variant behavior of built-in functions in list and scalar contexts that "In general, they do what you want, unless you want consistency."
 
No written specification or standard for the Perl language exists for Perl versions through Perl 5, and there are no plans to create one for the current version of Perl. There has been only one implementation of the interpreter, and the language has evolved along with it. That interpreter, together with its functional tests, stands as a de facto specification of the language. Perl 6, however, started with a specification, and several projects aim to implement some or all of the specification.
 
==Plataforma (Platform)==
 
Pode ser instalado em diversas plataformas como Unix, Windows, MVS, VMS, Macintosh, OS/2, Amiga, etc (Can be installed on various platforms such as Unix, Windows, MVS, VMS, Macintosh, OS / 2, Amiga, etc).
 
==O que é preciso para programar em PERL (What you need to program in PERL)==
 
 
*Um interpretador (An interpreter);
*Um editor de exto(A text editor).
 
==A instalação (Installation) ==
 
 
O procedimento da instalação é muito simples, basta seguir o caminho que exposto na tela, é só ir clicando em Next, Next e Finish e pronto. Se Você usa Linux,BSD,Unix e afins pode ficar numa boa, pois, provavelmente PERL vem por default. Caso seja usuário de Win32 instale o Active PERL ou outro interpretador como: strawberryperl.com, activestate.com.
Para instalar o Active PERL clique ou copie o link abaixo no seu navegador:
 
(The installation procedure is very simple, just follow the path displayed on the screen, you just go clicking Next, Next and Finish and you're done. If you use Linux, BSD, Unix, and the like may be a good PERL is probably because by default. If you install Win32 user Active perl interpreter or other type: strawberryperl.com, activestate.com.
To install Active PERL click or copy the link below into your browser:)
 
*http://www.activestate.com/
 
O Active Perl já instala diversos módulos , tais como o Apache::ASP e já configura o IIS para interpretar o PERL seja no ASP, CGI ou arquivos .pl.
 
(Active PERL already installed several modules such as Apache:: ASP and already configures IIS to interpret PERL is in ASP, CGI or. Pl archives.
 
==As Características(The Features)==
[[Imagem: Hello World Perl GTk2.png|thumb|right|150px|'' Programa'']]''
 
Uma das principais características de Perl é:
 
*Facilitar a manipulação de textos e processos (facilitate the manipulation of texts and processes).
 
*Perl é uma linguagem interpretada, o que torna a carga de um programa escrito em Perl um pouco mais lenta que a carga de programas escritos em algumas linguagens compiladas. Por outro lado, isto permite uma maior flexibilidade na sintaxe da linguagem (Perl is an interpreted language, which makes the load a program written in Perl a little slower to load some programs written in compiled languages​​. On the other hand, this allows a more flexible syntax).
 
*Um dos objetivos principais da linguagem é ajudar o programador a aumentar sua produtividade escrevendo programas pequenos, no entanto complexos e poderosos (A major aim of language is to help the programmer to increase your productivity by writing small programs, however complex and powerful)
 
==Vantagens ( Advantages )==
 
Além disso, Perl possui
*Um alto grau de portabilidade (Un haut degré de portabilité);
*Modularidade e reusabilidade de código;
*Perl é uma linguagem de código aberto (Perl est un langage open source);
*Perl é multiplataforma.
*Perl é multiplataforma, ou seja, roda não só em ambientes GNU/Linux como também no Windows, Unix, *BSD entre outros(Perl è multipiattaforma, cioè, non solo funziona su GNU / Linux e Windows, Unix, * BSD e altri);
 
==Desvantagens ==
 
* Programas mais lentos do que em C/C++.
Perl possui várias funções permitindo:
 
*manipular cadeias de caracteres
*manipular arquivos
 
A linguagem Perl tem um tipo de dado fraco em comparação às linguagens como a C; além disso, a alocação de memória é suportada pelo intérprete. Por outro lado, Perl tem uma característica interessante: o dimensionamento automático de expressões, quer dizer que, conforme o tipo de variável, uma expressão será avaliada de forma diferente.
 
Além do mais, o fato de ser gratuito e de estar presente em muitos sistemas operacionais a tornou uma linguagem de script adequada à criação do CGI.
 
==Desvantagens (disadvantages)==
* programas mais lentos do que em C/C++.
* Um pequeno código PERL é capaz de realizar muitas ações. Em termos de linguagem de programação, isso geralmente significa que o código será difícil de ler e penoso de escrever.
* Permite a visualização do código fonte, impedindo os programadores de esconder o código.
* Scripts escritos em Perl necessitam da existência do interpretador para que sua execução seja possível.
* Perl não possibilita o acesso a funções de baixo nível, reduzindo a liberdade do programador nestes tipos de caso.
 
==Applications==
 
Perl has many and varied applications, compounded by the availability of many standard and third-party modules.
Ever since the early days of the Web, programmers have used Perl to write CGI scripts. Perl is known as one of "the three Ps" (along with Python and PHP), the most popular dynamic languages for writing Web applications. It is also an integral component of the popular LAMP solution stack for web development. Large projects written in Perl include cPanel, Slash, Bugzilla, RT, TWiki, and Movable Type. Many high-traffic websites use Perl extensively. Examples include Amazon.com, bbc.co.uk, Priceline.com, Craigslist, IMDb, LiveJournal, Slashdot and Ticketmaster.
 
Perl is often used as a glue language, tying together systems and interfaces that were not specifically designed to interoperate, and for "data munging", that is, converting or processing large amounts of data for tasks such as creating reports. In fact, these strengths are intimately linked. The combination makes Perl a popular all-purpose language for system administrators, particularly because short programs can be entered and run on a single command line.
 
With a degree of care, Perl code can be made portable across Windows and Unix. Portable Perl code is often used by suppliers of software (both COTS and bespoke) to simplify packaging and maintenance of software build- and deployment-scripts.
 
Graphical user interfaces (GUIs) may be developed using Perl. For example, Perl/Tk is commonly used to enable user interaction with Perl scripts. Such interaction may be synchronous or asynchronous, using callbacks to update the GUI. For more information about the technologies involved, see Tk, Tcl and WxPerl.
 
Perl is also widely used in finance and in bioinformatics, where it is valued for rapid application development and deployment and for its capability to handle large data-sets.
 
==PERL - Versões (PERLVersions)==
 
 
As versões 4 e 5, são as mais populares de PERL.
(Versions 4 and 5 are the most popular PERL.)
 
A versão 5 contém elementos de programação a objetos (utilização de classes).
(Version 5 contains elements of programming objects (using classes);
 
==Referências (references)==
*http://www.vivaolinux.com.br/artigo/Programando-em-Perl-(parte-1)
*http://docs.activestate.com/
*http://www.ime.usp.br/~glauber/perl/perl.htm
*http://www.htmlstaff.org/ver.php?id=1139
*http://www.wmonline.com.br/desenvolvimento/perl/linguagem-perl-fundamentos
*http://informatica.hsw.uol.com.br/linguagem-perl.htm
*http://www.criarweb.com/artigos/222.php
*http://www.perl.org.br/Perldoc/V500807/Perlintro
*http://translate.google.com.br/#pt|en|
*http://informatica.hsw.uol.com.br/
*http://www.wmonline.com.br/desenvolvimento/perl/linguagem-perl-introducao
{{esboço}}
3 301

edições