Data Munging with Perl.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Data Munging with Perl.Pdf Data Munging with Perl Data Munging with Perl DAVID CROSS MANNING Greenwich (74° w. long.) For electronic information and ordering of this and other Manning books, go to www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact: Special Sales Department Manning Publications Co. 32 Lafayette Place Fax: (203) 661-9018 Greenwich, CT 06830 email: [email protected] ©2001 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books they publish printed on acid-free paper, and we exert our best efforts to that end. Library of Congress Cataloging-in-Publication Data Cross, David, 1962- Data munging with Perl / David Cross. p. cm. Includes bibliographical references and index. ISBN 1-930110-00-6 (alk. paper) 1. Perl (Computer program language) 2. Data structures (Computer science) 3. Data transmission systems. I. Title. QA76.73.P22 C39 20001998 005.7'2—dc21 00-050009 CIP Manning Publications Co. Copyeditor: Elizabeth Martin 32 Lafayette Place Typesetter: Dottie Marsico Greenwich, CT 06830 Cover designer: Leslie Haimes Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – VHG – 04 03 02 01 contents contents foreword xi preface xiii about the cover illustration xviii PART IFOUNDATIONS................................................. 1 Data, data munging, and Perl 3 1 1.1 What is data munging? 4 Data munging processes 4 ■ Data recognition 5 Data parsing 6 ■ Data filtering 6 ■ Data transformation 6 1.2 Why is data munging important? 7 Accessing corporate data repositories 7 ■ Transferring data between multiple systems 7 ■ Real-world data munging examples 8 1.3 Where does data come from? Where does it go? 9 Data files 9 ■ Databases 10 ■ Data pipes 11 Other sources/sinks 11 1.4 What forms does data take? 12 Unstructured data 12 ■ Record-oriented data 13 Hierarchical data 13 ■ Binary data 13 1.5 What is Perl? 14 Getting Perl 15 vi CONTENTS 1.6 Why is Perl good for data munging? 16 1.7 Further information 17 1.8 Summary 17 General munging practices 18 2 2.1 Decouple input, munging, and output processes 19 2.2 Design data structures carefully 20 Example: the CD file revisited 20 2.3 Encapsulate business rules 25 Reasons to encapsulate business rules 26 ■ Ways to encapsulate business rules 26 ■ Simple module 27 Object class 28 2.4 Use UNIX “filter” model 31 Overview of the filter model 31 ■ Advantages of the filter model 32 2.5 Write audit trails 36 What to write to an audit trail 36 ■ Sample audit trail 37 ■ Using the UNIX system logs 37 2.6 Further information 38 2.7 Summary 38 Useful Perl idioms 39 3 3.1 Sorting 40 Simple sorts 40 ■ Complex sorts 41 ■ The Orcish Manoeuvre 42 ■ Schwartzian transform 43 The Guttman-Rosler transform 46 ■ Choosing a sort technique 46 3.2 Database Interface (DBI) 47 Sample DBI program 47 3.3 Data::Dumper 49 3.4 Benchmarking 51 3.5 Command line scripts 53 CONTENTS vii 3.6 Further information 55 3.7 Summary 56 Pattern matching 57 4 4.1 String handling functions 58 Substrings 58 ■ Finding strings within strings (index and rindex) 59 ■ Case transformations 60 4.2 Regular expressions 60 What are regular expressions? 60 ■ Regular expression syntax 61 ■ Using regular expressions 65 ■ Example: translating from English to American 70 ■ More examples: /etc/passwd 73 ■ Taking it to extremes 76 4.3 Further information 77 4.4 Summary 78 PART II DATA MUNGING ............................................ 79 Unstructured data 81 5 5.1 ASCII text files 82 Reading the file 82 ■ Text transformations 84 Text statistics 85 5.2 Data conversions 87 Converting the character set 87 ■ Converting line endings 88 ■ Converting number formats 90 5.3 Further information 94 5.4 Summary 95 Record-oriented data 96 6 6.1 Simple record-oriented data 97 Reading simple record-oriented data 97 ■ Processing simple record-oriented data 100 ■ Writing simple record-oriented data 102 ■ Caching data 105 viii CONTENTS 6.2 Comma-separated files 108 Anatomy of CSV data 108 ■ Text::CSV_XS 109 6.3 Complex records 110 Example: a different CD file 111 Special values for $/ 113 6.4 Special problems with date fields 114 Built-in Perl date functions 114 Date::Calc 120 ■ Date::Manip 121 Choosing between date modules 122 6.5 Extended example: web access logs 123 6.6 Further information 126 6.7 Summary 126 Fixed-width and binary data 127 7 7.1 Fixed-width data 128 Reading fixed-width data 128 ■ Writing fixed-width data 135 7.2 Binary data 139 Reading PNG files 140 ■ Reading and writing MP3 files 143 7.3 Further information 144 7.4 Summary 145 PART III SIMPLE DATA PARSING.................................. 147 Complex data formats 149 8 8.1 Complex data files 150 Example: metadata in the CD file 150 ■ Example: reading the expanded CD file 152 8.2 How not to parse HTML 154 Removing tags from HTML 154 ■ Limitations of regular expressions 157 CONTENTS ix 8.3 Parsers 158 An introduction to parsers 158 ■ Parsers in Perl 161 8.4 Further information 162 8.5 Summary 162 HTML 163 9 9.1 Extracting HTML data from the World Wide Web 164 9.2 Parsing HTML 165 Example: simple HTML parsing 165 9.3 Prebuilt HTML parsers 167 HTML::LinkExtor 167 ■ HTML::TokeParser 169 HTML::TreeBuilder and HTML::Element 171 9.4 Extended example: getting weather forecasts 172 9.5 Further information 174 9.6 Summary 174 XML 175 10 10.1 XML overview 176 What’s wrong with HTML? 176 ■ What is XML? 176 10.2 Parsing XML with XML::Parser 178 Example: parsing weather.xml 178 ■ Using XML::Parser 179 ■ Other XML::Parser styles 181 XML::Parser handlers 188 10.3 XML::DOM 191 Example: parsing XML using XML::DOM 191 10.4 Specialized parsers—XML::RSS 193 What is RSS? 193 ■ A sample RSS file 193 Example: creating an RSS file with XML::RSS 195 Example: parsing an RSS file with XML::RSS 196 10.5 Producing different document formats 197 Sample XML input file 197 ■ XML document transformation script 198 ■ Using the XML document transformation script 205 x CONTENTS 10.6 Further information 208 10.7 Summary 208 Building your own parsers 209 11 11.1 Introduction to Parse::RecDescent 210 Example: parsing simple English sentences 210 11.2 Returning parsed data 212 Example: parsing a Windows INI file 212 Understanding the INI file grammar 213 Parser actions and the @item array 214 Example: displaying the contents of @item 214 Returning a data structure 216 11.3 Another example: the CD data file 217 Understanding the CD grammar 218 ■ Testing the CD file grammar 219 ■ Adding parser actions 220 11.4 Other features of Parse::RecDescent 223 11.5 Further information 224 11.6 Summary 224 PART IV THE BIG PICTURE ........................................ 225 Looking back—and ahead 227 12 12.1 The usefulness of things 228 The usefulness of data munging 228 ■ The usefulness of Perl 228 ■ The usefulness of the Perl community 229 12.2 Things to know 229 Know your data 229 ■ Know your tools 230 Know where to go for more information 230 appendix A Modules reference 232 appendix B Essential Perl 254 index 273 foreword foreword Perl is something of a weekend warrior. Outside of business hours you’ll find it indulging in all kinds of extreme sports: writing haiku; driving GUIs; reviving Lisp, Prolog, Forth, Latin, and other dead languages; playing psychologist; shovelling MUDs; inflecting English; controlling neural nets; bringing you the weather; play- ing with Lego; even running quantum computations. But that’s not its day job. Nine-to-five it earns its keep far more prosaically: storing information in data- bases, extracting it from files, reorganizing rows and columns, converting to and from bizarre formats, summarizing documents, tracking data in real time, creating statistics, doing back-up and recovery, merging and splitting data streams, logging and checkpointing computations. In other words, munging data. It’s a dirty job, but someone has to do it. If that someone is you, you’re definitely holding the right book. In the follow- ing pages, Dave will show you dozens of useful ways to get those everyday data manipulation chores done better, faster, and more reliably. Whether you deal with fixed-format data, or binary, or SQL databases, or CSV, or HTML/XML, or some bizarre proprietary format that was obviously made up on a drunken bet, there’s help right here. Perl is so good for the extreme stuff, that we sometimes forget how powerful it is for mundane data manipulation as well. As this book so ably demonstrates, in addi- tion to the hundreds of esoteric tools it offers, our favourite Swiss Army Chainsaw also sports a set of simple blades that are ideal for slicing and dicing ordinary data. Now that’s a knife! DAMIAN CONWAY preface preface Over the last five years there has been an explosion of interest in Perl. This is largely because of the huge boost that Perl received when it was adopted as the de facto language for creating content on the World Wide Web.
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]
  • 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).
    [Show full text]
  • "This Book Was a Joy to Read. It Covered All Sorts of Techniques for Debugging, Including 'Defensive' Paradigms That Will Eliminate Bugs in the First Place
    Perl Debugged By Peter Scott, Ed Wright Publisher : Addison Wesley Pub Date : March 01, 2001 ISBN : 0-201-70054-9 Table of • Pages : 288 Contents "This book was a joy to read. It covered all sorts of techniques for debugging, including 'defensive' paradigms that will eliminate bugs in the first place. As coach of the USA Programming Team, I find the most difficult thing to teach is debugging. This is the first text I've even heard of that attacks the problem. It does a fine job. Please encourage these guys to write more." -Rob Kolstad Perl Debugged provides the expertise and solutions developers require for coding better, faster, and more reliably in Perl. Focusing on debugging, the most vexing aspect of programming in Perl, this example-rich reference and how-to guide minimizes development, troubleshooting, and maintenance time resulting in the creation of elegant and error-free Perl code. Designed for the novice to intermediate software developer, Perl Debugged will save the programmer time and frustration in debugging Perl programs. Based on the authors' extensive experience with the language, this book guides developers through the entire programming process, tackling the benefits, plights, and pitfalls of Perl programming. Beginning with a guided tour of the Perl documentation, the book progresses to debugging, testing, and performance issues, and also devotes a chapter to CGI programming in Perl. Throughout the book, the authors espouse defensible paradigms for improving the accuracy and performance of Perl code. In addition, Perl Debugged includes Scott and Wright's "Perls of Wisdom" which summarize key ideas from each of the chapters, and an appendix containing a comprehensive listing of Perl debugger commands.
    [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]
  • Practical Ruby Projects: Practical Ruby Projects Ideas for the Eclectic Programmer
    CYAN YELLOW MAGENTA BLACK PANTONE 123 C BOOKS FOR PROFESSIONALS BY PROFESSIONALS® THE EXPERT’S VOICE® IN OPEN SOURCE Companion eBook Available Practical Ruby Projects: Projects Ruby Practical Ideas for the Eclectic Programmer Dear Reader, You’ve learned the basics of Ruby, and you’re ready to move on to the next level— trying out advanced techniques, mastering best practices, and exploring Ruby’s full potential. With this book you’ll learn by experience while you tackle an exciting series of varied but always practical programming projects. What is an eclectic programmer, you ask? He or she is an inquisitive thinker Practical who likes to play around with new concepts, a person who is project-oriented and enjoys coding, a person who doesn’t mind some technical depth folded in with creative excursions, and a person who is always looking for fresh ideas. This book is a little different from other computer books. It is meant to be entertaining, exciting, and intellectually challenging. Inside you’ll find a collec- tion of diverse projects, ranging from the creative to the practical, written as a nod to all the great Rubyists I’ve been privileged to know. Each chapter dives into Ruby Projects new topics and approaches meant to exercise your programming muscles. You’ll start by building a cross-platform music environment, progress to drawing animations using scalable vector graphics, and then move on to prac- tical problem solving using simulation. In addition, you’ll implement your own turn-based strategy game and build a Mac-native RubyCocoa interface to it.
    [Show full text]
  • Symbols & Numbers A
    ruby_02.book Page 267 Thursday, May 10, 2007 4:12 PM INDEX Symbols & Numbers \ (backslash), in regular expression, for literal characters, 144 %Q for instantiating Strings, 23, \W, in regular expression, for 108–109, 215–216, 219, 239, whitespace, 66 245, 248–250 { } (braces) %w for instantiating Arrays, 47, for blocks, 28 113, 115 for declaring Hash, 42 & (ampersand), for expressing blocks {x}, in regular expression, 79 and Procs, 105–106 - method (Hash), 93 ! (exclamation point), for destructive ||= operator, 77–78, 127 methods, 20, 22–23 | (pipe) character, in regular || (or) operator, 17 expression, 56 # character + method of Integers and Strings, 3–4 for comments, 14 + (plus sign), in regular for instance method, 234 expression, 62 #{} for wrapping expression to be = (equal sign), for assigning value to interpolated, 23 variable, 9 #! (shebang), 47 == operator, for equality testing, 14 $ (dollar sign), for bash prompt, 19 =begin rdoc, 22 * (asterisk), in irb prompt, 8 =end, 22 ** (asterisk doubled), for “to the <=> method (Comparable), 145, power of,” 72 150–151 /\d+/ in regular expression, for digits <% and %> tags, 211 only, 79 <%= tag, for printing expression, 214 :needs_data Symbol key, 116 99bottles.rb script, 20–25 :nitems Symbol key, 116 :unless0th Symbol key, 116 ? (question mark) A in predicate method names, 22 actionpack, warnings related to, 226 in regular expression, for optional Active Record, Rails dependence expressions, 144 on, 227 @ sign, for instance variable, 21–22 Agile Web Development with Rails @@ sign, for class
    [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]
  • Intermediate Perl
    SECOND EDITION Intermediate Perl Randal L. Schwartz, brian d foy, and Tom Phoenix Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Intermediate Perl, Second Edition by Randal L. Schwartz, brian d foy, and Tom Phoenix Copyright © 2012 Randal Schwartz, brian d foy, Tom Phoenix. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editors: Simon St. Laurent and Shawn Wallace Indexer: Lucie Haskins Production Editor: Kristen Borg Cover Designer: Karen Montgomery Copyeditor: Absolute Service, Inc. Interior Designer: David Futato Proofreader: Absolute Service, Inc. Illustrator: Rebecca Demarest March 2006: First Edition. August 2012: Second Edition. Revision History for the Second Edition: 2012-07-20 First release See http://oreilly.com/catalog/errata.csp?isbn=9781449393090 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Intermediate Perl, the image of an alpaca, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]