Perl Variables Scalar ($) Array (@) Hash (%)

Total Page:16

File Type:pdf, Size:1020Kb

Perl Variables Scalar ($) Array (@) Hash (%) Practical Extraction and Report Language « Perl is a language of getting your job done » « There is more than one way to do it » Larry Wall VI, October 2006 Page 1 Perl Outline : History Structure of a simple Perl script Perl variables scalar ($) array (@) hash (%) Operators (numeric, string & logical) Statement modifiers (if/elsif/else, for/foreach, while) VI, October 2006 Page 2 Practical Extraction and Report Language http://perl.oreilly.com " Perl is both a programming language and an application on your computer that runs those programs " VI, October 2006 Page 3 Perl history A few dates: 1969 UNIX was born at Bell Labs. 1970 Brian Kernighan suggested the name "Unix" and the operating system we know today was born. 1972 The programming language C is born at the Bell Labs (C is one of Perl's ancestors). 1973 “grep” is introduced by Ken Thompson as an external utility: Global REgular expression Print. 1976 Steven Jobs and Steven Wozniak found Apple Computer (1 April). 1977 The computer language awk is designed by Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan (awk is one of Perl's ancestors). VI, October 2006 Page 4 Perl history 1987 Perl 1.000 is unleashed upon the world NAME perl | Practical Extraction and Report Language SYNOPSIS perl [options] filename args DESCRIPTION Perl is a interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it (Language historians will also note some vestiges of csh, Pascal, and even BASIC|PLUS). Expression syntax corresponds quite closely to C expression syntax. If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capabilities or must run a little faster, and you don't want to write the silly thing in C, then perl may be for you. There are also translators to turn your sed and awk scripts into perl scripts OK, enough hype. VI, October 2006 Page 5 Perl history 1994 Perl5: last major release (Currently Perl 5.8.6). 1996 Creation of the CPAN repository of modules and documentation ( Comprehensive Perl Archive Network). 2006 Perl 5.8.8 Supported Operating Systems: Unix systems / Macintosh (OS 7-9 and X) / Windows / VMS Perl Features Perls database integration interface (DBI) supports thirdparty databases including Oracle, Sybase, Postgres, MySQL and others. Perl works with HTML, XML, and other markup languages . Perl supports Unicode. Perl is Y2K compliant. Perl supports both procedural and objectoriented programming. Perl interfaces with external C/C++ libraries through XS or SWIG. Perl is extensible There are over 500 third party modules available from (CPAN). VI, October 2006 Page 6 Perl history Perl and the Web Perl is the most popular web programming language due to its text manipulation capabilities and rapid development cycle. Perl's CGIpm module, part of Perl's standard distribution, makes handling HTML forms simple. Perl can handle encrypted Web data, including ecommerce transactions. Perl can be embedded into web servers (mod_perl) to speed up processing by as much as 2000%. Perl's DBI package makes webdatabase integration easy. VI, October 2006 Page 7 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; The first line of a Perl program is called "command interpretation" or "Shebang line". This line refers to the "#!" and tells the computer that this is a Perl program. To find out whether you should use /usr/bin/perl OR /usr/local/bin/perl, type: "which perl" in your shell: pcX: vioannid$ which perl pcY: vioannid$ which perl /usr/bin/perl /usr/local/bin/perl VI, October 2006 Page 8 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl perl script use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; #!/import/bc2/soft/bin/perl5/perl [embnet01@bc2-linux3 ~]$ which perl /import/bc2/soft/bin/perl5/perl UNIX shell computerX: vioannid$ which perl computerY: vioannid$ which perl /usr/bin/perl /usr/local/bin/perl VI, October 2006 Page 9 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world " print "Hello world" ; #tell the program to exit exit ; use strict; A command like use strict is called a pragma. Pragmas are instructions to the Perl interpreter to do something special when it runs your program. "use strict" does two things that make it harder to write bad software: It makes you declare all your variables, and it makes it harder for Perl to mistake your intentions when you are using subroutines ALL STATEMENTS END IN A SEMICOLON ";" (similar to the use of the period "." in the English language) VI, October 2006 Page 10 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; use warnings; Comments are good, but the most important tool for writing good Perl is the "warnings". Turning on warnings will make Perl yelp and complain at a huge variety of things that are almost always sources of bugs in your programs. Perl normally takes a relaxed attitude toward things that may be problems: it assumes that you know what you're doing, even when you don't… VI, October 2006 Page 11 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; Comments All lines starting with "#" are not taken into account in the execution of the program. Good comments are short, but instructive. They tell you things that aren't clear from reading the code. Blank lines or spaces are also not taken into account in the execution of the program. However, they help in the reading of the code. VI, October 2006 Page 12 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; Print statement: … prints ! By default, the standard output is the shell window from which the program is executed. ALL STATEMENTS ENDS IN A SEMICOLON ";" (similar to the use of the period "." in the English language) VI, October 2006 Page 13 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; The exit statement: Tells the computer to exit the program. Although not explicitely required in Perl, it is definitely common. VI, October 2006 Page 14 Perl Hello world ! My first program (hello.pl) : #!/usr/local/bin/perl use strict; use warnings; #tell the program to print "Hello world" print "Hello world" ; #tell the program to exit exit ; output: Do not forget to make the file executable: vioannid$ chmod a+x hello.pl vioannid$ ./hello.pl Hello worldvioannid$ VI, October 2006 Page 15 Perl Hello world !! Print : #!/usr/local/bin/perl vioannid$ ./hello2.pl Hello use strict; world use warnings; Hello world Helloworld #play with the print statement vioannid$ #words separated by newline print "Hello\nworld\n" ; #words separated by tabs & a final newline print "Hello\tworld\n" ; #usage of the period to cat strings print "Hello"."world"."\n"; Important: #tell the program to exit Unix & all Unix flavors: \n exit ; Mac OS : \r Windows: \r\n VI, October 2006 Page 16 Perl variables and data types Variables are containers which can hold data of a various types Type Character Example Is a name for: Scalar $ $gene_symbol An individual value (number or string) Array @ @sequences A list of values, keyed by number Hash % %descriptions A group of values, keyed by string Subroutine & &align A callable chunk of Perl code Typeglob * *protein Everything named protein VI, October 2006 Page 17 Perl variables - Scalars scalars a single string (of any size, limited only by the available memory), or a number (integers, floating-point numbers), or a boolean (true or false or 0 or 1), or a reference to something The “beauty” of PERL is that you don’t declare your scalar variables to be of a certain data type, Perl figures it out for you ! Depending on the CONTEXT, Perl will automatically interpret them as strings, as numbers, or as boolean values (true or false). Scalar values are always named with '$' (even when referring to a scalar that is part of an array or a hash). The '$' symbol works semantically like the English word "the" in that it indicates a single value is expected. my $variable_1 = "Hello world !\n"; #note the quotes my $variable_two = 30; #note the absence of quotes VI, October 2006 Page 18 Perl variables - Scalars Numeric my $pi = 3.14159; # floating point number my $avogadro = 6.02e23; # scientific notation my $cash = 33651235421; # huge integer my $cash2 = 33_651_235_421; # huge integer with underlines for visibility my $result = 25; # integer Numeric operators 1 + 1 # 1 plus 1, or 2 2.5 - 1.5 # 2.5 minus 1.5, or 1 2 * 6 # 2 times
Recommended publications
  • Learning to Program in Perl
    Learning to Program in Perl by Graham J Ellis Languages of the Web Learning to Program in Perl version 1.7 Written by Graham Ellis [email protected] Design by Lisa Ellis Well House Consultants, Ltd. 404, The Spa, Melksham, Wiltshire SN12 6QL England +44 (0) 1225 708 225 (phone) +44 (0) 1225 707 126 (fax) Find us on the World Wide Web at: http://www.wellho.net Or contact us at: [email protected] Copyright © 2003 by Well House Consultants, Ltd. Printed in Great Britain. Printing History May 1999 1.0 First Edition February 2000 1.1 Minor additions June 2000 1.2 Compliation of modules October 2000 1.3 Name change, revisions April 2002 1.4 Added modules September 2002 1.5 Added modules January 2003 1.6 Updated modules February 2003 1.7 Updated modules This manual was printed on 21 May 2003. Notice of Rights All rights reserved. No part of this manual, including interior design, may be reproduced or translated into any language in any form, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without prior written permission of Well House Consultants except in the case of brief quotations embodied in critical articles and reviews. For more information on getting permission for reprints and excerpts, contact Graham Ellis at Well House Consultants. This manual is subject to the condition that it shall not, by way of trade or otherwise, be lent, sold, hired out or otherwise circulated without the publisher's prior consent, incomplete nor in any form of binding or cover other than in which it is published and without a similar condition including this condition being imposed on the subsequent receiver.
    [Show full text]
  • How to Secure Your Web Site Picked up SQL Injection and Cross-Site Scripting As Sample Cases of Failure Because These Two Are the Two Most Reported Vulnerabilities
    How to Secure your Website rd 3 Edition Approaches to Improve Web Application and Web Site Security June 2008 IT SECURITY CENTER (ISEC) INFORMATION-TECHNOLOGY PROMOTION AGENCY, JAPAN This document is a translation of the original Japanese edition. Please be advises that most of the references referred in this book are offered in Japanese only. Both English and Japanese edition are available for download at: http://www.ipa.go.jp/security/english/third.html (English web page) http://www.ipa.go.jp/security/vuln/websecurity.html (Japanese web page) Translated by Hiroko Okashita (IPA), June 11 2008 Contents Contents ......................................................................................................................................... 1 Preface ........................................................................................................................................... 2 Organization of This Book ........................................................................................................... 3 Intended Reader ......................................................................................................................... 3 Fixing Vulnerabilities – Fundamental Solution and Mitigation Measure - .................................... 3 1. Web Application Security Implementation ............................................................................... 5 1.1 SQL Injection .................................................................................................................... 6 1.2
    [Show full text]
  • Red Hat Enterprise Linux 8 Installing, Managing, and Removing User-Space Components
    Red Hat Enterprise Linux 8 Installing, managing, and removing user-space components An introduction to AppStream and BaseOS in Red Hat Enterprise Linux 8 Last Updated: 2021-06-25 Red Hat Enterprise Linux 8 Installing, managing, and removing user-space components An introduction to AppStream and BaseOS in Red Hat Enterprise Linux 8 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
    [Show full text]
  • Perl DBI API Reference
    H Perl DBI API Reference This appendix describes the Perl DBI application programming interface. The API consists of a set of methods and attributes for communicating with database servers and accessing databases from Perl scripts. The appendix also describes MySQL-specific extensions to DBI provided by DBD::mysql, the MySQL database driver. I assume here a minimum version of DBI 1.50, although most of the material applies to earlier versions as well. DBI 1.50 requires at least Perl 5.6.0 (with 5.6.1 preferred). As of DBI 1.611, the minimum Perl version is 5.8.1. I also assume a minimum version of DBD::mysql 4.00. To determine your versions of DBI and DBD::mysql (assuming that they are installed), run this program: #!/usr/bin/perl # dbi-version.pl - display DBI and DBD::mysql versions use DBI; print "DBI::VERSION: $DBI::VERSION\n"; use DBD::mysql; print "DBD::mysql::VERSION: $DBD::mysql::VERSION\n"; If you need to install the DBI software, see Appendix A , “Software Required to Use This Book.” Some DBI methods and attributes are not discussed here, either because they do not apply to MySQL or because they are experimental methods that may change as they are developed or may even be dropped. Some MySQL-specific DBD methods are not discussed because they are obsolete. For more information about new or obsolete methods, see the DBI or DBD::mysql documentation, available at http://dbi.perl.org or by running the following commands: % perldoc DBI % perldoc DBI::FAQ % perldoc DBD::mysql The examples in this appendix are only brief code fragments.
    [Show full text]
  • OTRS Developer Manual Release 8.0
    OTRS Developer Manual Release 8.0 OTRS AG Jul 08, 2020 Contents 1 Getting Started 3 1.1 Development Environment ..................................... 3 1.1.1 Obtain the Source Code .................................. 3 1.1.2 Useful Tools ......................................... 3 1.1.3 Linking Expansion Modules ................................ 4 1.2 Architecture Overview ........................................ 4 1.2.1 Directories .......................................... 7 1.2.2 Files ............................................. 7 1.2.3 Core Modules ........................................ 7 1.2.4 Front End Handle ...................................... 8 1.2.5 Front End Modules ..................................... 8 1.2.6 CMD Front End ....................................... 8 1.2.7 Generic Interface Modules ................................. 8 1.2.8 Scheduler Task Handler Modules ............................. 9 1.2.9 Database .......................................... 10 2 OTRS Internals - How it Works 11 2.1 Config Mechanism .......................................... 11 2.1.1 Defaults.pm: OTRS Default Configuration ...................... 11 2.1.2 Automatically Generated Configuration Files ....................... 11 2.1.3 XML Configuration Files .................................. 11 2.1.4 Accessing Config Options at Runtime .......................... 20 2.2 Database Mechanism ........................................ 21 2.2.1 SQL ............................................. 21 2.2.2 XML ............................................
    [Show full text]
  • The Perl Review
    The Perl Review Volume 0 Issue 6 November 1, 2002 Like this issue? Support The Perl Review with a donation! http://www.ThePerlReview.com/ Letters i Community News ii Short Notes iii Simple RSS with Perl 1 brian d foy Delightful Languages: Ruby 7 Mike Stok Who’s Doing What? Analyzing Ethernet LAN Traffic 18 Paul Barry Book Reviews 24 Staff Like this issue? Support The Perl Review with a donation! http://www.ThePerlReview.com/ Web Access http://www.ThePerlReview.com/ Email [email protected] Publisher brian d foy Editor Andy Lester Technical Editors Kurt Starsinic, Adam Turoff Copy Editors Beth Linker, Glenn Maciag, Chris Nandor Contributors David H. Adler, Paul Barry, Neil Bauman, brian d foy, Andy Lester, Mike Stok, Betsy Waliszewski The Perl Review print $_ $_[0] for @$self;. We incorrectly used Letters $_[1] and apologize for the confusion. Send your letters, comments, and suggestions to [email protected] Write for TPR TPR Subscriptions Have something to say about Perl? The Perl Re- view wants first person accounts about using Perl. If I’d like to subscribe to The Perl Review. However, you cannot write a complete article you can write a I prefer not to use PayPal. If you tell me where to “Short Note”. Want to tell everyone about a book send a check or cash, I’d be happy to do so. you have read? Write a book review! Were you at a Perl function? Give us a trip report! – Gregor Dodson We would like to get articles or “Short Notes” on brian writes: A lot of people have said something similar, and at the moment we do not have a better way to take money.
    [Show full text]
  • Tiketöintijärjestelmän Käyttöönotto
    TIKETÖINTIJÄRJESTELMÄN KÄYTTÖÖNOTTO LAHDEN AMMATTIKORKEAKOULU Tekniikan ala Tietotekniikka Tietoliikennetekniikka Opinnäytetyö Kevät 2013 Janne Nummela Lahden ammattikorkeakoulu Tietotekniikan koulutusohjelma NUMMELA, JANNE: Tiketöintijärjestelmän käyttöönotto Tietoliikennetekniikan opinnäytetyö, 41 sivua Kevät 2013 TIIVISTELMÄ Tämän opinnäytetyön tavoitteena oli kartoittaa, valita ja asentaa avoimeen lähdekoodiin perustuva palvelupyyntöjen kirjausjärjestelmä eli tiketöintipalvelu. Tämän lisäksi työssä alustettiin ITIL-viitekehyksen käyttöönottoa yrityksessä. Työn toimeksiantajana oli LahtiNetwork Oy, joka on lahtelainen ict-palveluja tarjoava yritys. Työssä pyrittiin ottamaan huomioon LahtiNetworkin tarpeet ohjelmiston suhteen. Aikaisemmin yrityksen käytössä ei ollut tiketöintijärjestelmää, joten tulleita palvelupyyntöjä ei kirjattu järjestelmällisesti. Tiketöintijärjestelmä mahdollistaa palvelupyyntöjen järjestelmällisen kirjaamisen ja hallinnan. Tiketöintijärjestelmä tarjoaa palvelupyyntöjen vastaanotto-, kirjaus-, hallinta- ja muokkauspalvelut. Tiketöintijärjestelmä koostuu palvelimesta ja siihen asennettavasta ohjelmistosta. Ohjelmistot jakautuvat ilmaisiin avoimen lähdekoodin ohjelmiin ja maksullisiin ohjelmistoihin. Ohjelmia löytyy markkinoilta lukuisia aina pienestä pelkästään tiketöintiin perustuvasta ohjelmasta isoon koko help desk -prosessin käsittävään ohjelmaan. Yhteistä kaikilla ohjelmilla on kuitenkin se, että ydinajatus on tallentaa ja seurata järjestelmään tullutta palvelupyyntöä. Palvelupyyntö voi olla virheilmoitus,
    [Show full text]
  • The Bugzilla Guide
    The Bugzilla Guide Matthew P. Barnson [email protected] This is the documentation for Bugzilla, the Mozilla bug−tracking system. The Bugzilla Guide Table of Contents Chapter 1. About This Guide.............................................................................................................................1 1.1. Purpose and Scope of this Guide......................................................................................................1 1.2. Copyright Information......................................................................................................................1 1.3. Disclaimer.........................................................................................................................................2 1.4. New Versions....................................................................................................................................2 1.5. Credits...............................................................................................................................................2 1.6. Contributors......................................................................................................................................3 1.7. Feedback...........................................................................................................................................3 1.8. Translations.......................................................................................................................................3 1.9. Document Conventions.....................................................................................................................3
    [Show full text]
  • Perl Baseless Myths & Startling Realities
    http://xkcd.com/224/ Perl Baseless Myths & Startling Realities by Tim Bunce, July 2008 Prefer ‘Good Developers’ over ‘Good Languages’ “For all program aspects investigated, the performance variability that derives from differences among programmers of the same language—as described by the bad-to-good ratios—is on average as large or larger than the variability found among the different languages.” — An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl. IEEE Computer Journal October 2000 Who am I? - Tim Bunce - Author of the Perl DBI module - Using Perl since 1991 - Involved in the development of Perl 5 - “Pumpkin” for 5.4.x maintenance releases - http://blog.timbunce.org ~ Myths ~ ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 ~ Myths ~ - Perl is dead - Perl is hard to read / test / maintain - Perl 6 is killing Perl 5 Perl 5 - Perl 5 isn’t the new kid on the block - Perl is 21 years old - Perl 5 is 14 years old - A mature language with a mature culture Buzz != Jobs - Perl5 hasn’t been generating buzz recently - It’s just getting on with the job - Lots of jobs - - just not all in web development Guess the Languages “web developer” Yes, Perl is growing more slowly than others but these are just “web developer” jobs “software engineer” Perl is mentioned in many more software engineer/developer jobs. “foo developer” Perl is the primary focus of more developer jobs. Want a fun new job? Become a Perl developer! Massive Module Market - Large and vibrant developer community - Over 15,000 distributions (58,000 modules) - Over 6,700 ‘authors’ (who make releases) - One quarter of all CPAN distributions have been updated in the last 4 months! - Half of all updated in the last 17 months! Top Modules -Many gems, including..
    [Show full text]
  • Learning Perl. 5Th Edition [PDF]
    Learning Perl ,perlroadmap.24755 Page ii Tuesday, June 17, 2008 8:15 AM Other Perl resources from O’Reilly Related titles Advanced Perl Programming Perl Debugger Pocket Intermediate Perl Reference Mastering Perl Perl in a Nutshell Perl 6 and Parrot Essentials Perl Testing: A Developer’s Perl Best Practices Notebook Perl Cookbook Practical mod-perl Perl Books perl.oreilly.com is a complete catalog of O’Reilly’s books on Perl Resource Center and related technologies, including sample chapters and code examples. Perl.com is the central web site for the Perl community. It is the perfect starting place for finding out everything there is to know about Perl. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in document- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and ITprofessionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today with a free trial. main.title Page iii Monday, May 19, 2008 11:21 AM FIFTH EDITION LearningTomcat Perl™ The Definitive Guide Randal L. Schwartz,Jason Tom Brittain Phoenix, and and Ian brian F. Darwin d foy Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Learning Perl, Fifth Edition by Randal L.
    [Show full text]
  • Documentation OTRS 5
    Documentation OTRS 5 - Developer Manual Build Date: 2015-05-12 OTRS 5 - Developer Manual Copyright © 2003-2015 OTRS AG This work is copyrighted by OTRS AG. You may copy it in whole or in part as long as the copies retain this copyright statement. The source code of this document can be found at github, in the repository doc-developer. Contributions are more than welcome. You can also help translating it to your language at Transifex. UNIX is a registered trademark of X/Open Company Limited. Linux is a registered trademark of Linus Torvalds. MS- DOS, Windows, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista and Windows 7 are registered trademarks of Microsoft Corporation. Other trademarks and registered trademarks are: SUSE and YaST of SUSE Linux GmbH, Red Hat and Fedora are registered trademarks of Red Hat, Inc. Mandrake is a registered trademark of MandrakeSoft, SA. Debian is a registered trademark of Software in the Public Interest, Inc. MySQL and the MySQL Logo are registered trademarks of Oracle Corporation and/or its affiliates. All trade names are used without the guarantee for their free use and are possibly registered trade marks. OTRS AG essentially follows the notations of the manufacturers. Other products mentioned in this manual may be trademarks of the respective manufacturer. Table of Contents 1. Getting Started .......................................................................................................... 1 1. Development Environment ................................................................................
    [Show full text]
  • Open Abrown Thesis May2012.Pdf
    The Pennsylvania State University The Graduate School Department of Computer Science and Engineering AN ENGINEERING APPROACH TO PERL AND RUBY OBJECT ORIENTED PROGRAMMING LANGUAGES A Thesis in Computer Science and Engineering by Angeline Brown © 2012 Angeline Brown Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science May 2012 ii The thesis of Angeline Brown was reviewed and approved* by the following: Mahmut Kandemir Professor of Computer Science and Engineering Thesis Advisor Yuan Xie Associate Professor of Computer Science and Engineering Raj Acharya Professor of Computer Science and Engineering Head of the Department of Computer Science and Engineering *Signatures are on file in the Graduate School iii ABSTRACT This study compares two object oriented programming languages, Perl and Ruby. Perl and Ruby are both extensively used scripting languages that are applied in a wide scope of modern software applications. Applications that use Perl are Amazon.com, TicketMaster.com, and Priceline.com. Applications that use Ruby are Twitter.com, YellowPages.com, and LivingSocial.com. The purpose of discussing these languages is two-fold. First, the available quantitative comparison of these languages is limited. This paper provides essential quantitative as well as qualitative analysis that can be used as a tool for future references. Secondly, this work was performed as a trade study for the implementation of a real world database application known as PennData SpecEd Application. PennData SpecEd is used to collect records of special education students from the Commonwealth of Pennsylvania student census. This comparative study focuses first on the performance and ease of programming software components using object oriented features of both Perl and Ruby.
    [Show full text]