Perl tutorial at U Penn on Tuesday 2 September

Discussion in 'Perl Misc' started by Mark Jason Dominus, Aug 26, 2003.

  1. This year I wrote three new tutorial classes for conferences, but I
    only gave two of them in practice sessions at Penn in the spring.
    I've given the new one several times now, so I don't need the
    practice, but I thought it would be fun to give it in Philadelphia

    As usual, I am asking for a (voluntary) donation of $10. If this
    covers my expenses for the class, I will contribute 30% of the surplus
    to the EFF, a non-profit legal action group devoted to defending
    digital rights. (See for details.) University of
    Pennsylvania students, faculty, and staff are exempt from this request.

    The tutorial is titled:

    "How do I delete a line from a file?"
    Strategies for Lightweight Databases


    Tuesday, September 2.

    The tutorial will start around 6:30 PM and will last until about
    10:00, including a 30-minute break in the middle.


    Here is the brochure description:

    Many programs need cheap, convenient access to small amounts
    of data. There are two commonly used solutions: Flat text
    files and DBM files. This class will look at these in
    detail. Whether you're looking for a good solution for storage
    of your own data, or you have to deal with data stored in one
    of these formats by another program, this class will equip you
    with valuable tools for solving your problems.

    In the first section, we'll look at techniques for managing
    flat text databases and the systems programming that underlies
    these. We'll examine the tradeoffs of variable
    vs. fixed-length records and sorted vs. unsorted files. In the
    second section, we'll take a detailed look at Tie::File, a new
    standard module that provides easy access to text databases.

    The third section will be an overview of Perl's 'DBM' feature,
    including a comparison of the standard DBM modules. We'll see
    several extremely useful but little-known features of DB_File,
    the only one of these standard modules that doesn't have
    serious defects.

    Here's an outline:

    Text Files
    Rotating log file; deleting a user
    Copy the File
    Using -i inside a program
    Problems with -i
    Atomicity issues
    Essential problem with files; fundamental operations; seeking
    Sorted files
    In-place modification of records
    Overwriting records
    Bytes vs. positions
    Gappy Files
    Fixed-length records
    Numeric indices
    Case study: lastlog
    Void fields
    Generic text indices
    Packed offsets
    Tie::File Examples
    delete_user revisited
    uppercase_username revisited
    Rotating log file revisited
    Most important thing to know about Tie::File
    Indexing with Tie::File
    Tie::File Internals
    Record modification
    Immediate vs. Deferred Writing
    Miscellaneous Features
    Common DBM Implementations
    What DBM Does
    Small DBMs: ODBM, NDBM, and SDBM
    Indexing revisited
    Ordered hashes
    Partial matching
    Sequential access
    Multiple values


    This is NOT an introductory class; it assumes that you have some
    familiarity with Perl's basic features.


    The classes will be held in Wu-Chen auditorium on the first floor of
    the new Melvin and Claire Levine Hall at the University of
    Pennsylvania. Levine Hall is located at 3330 Walnut Street in

    For directions to the University, see

    A map is available at:


    My usual bio says:

    Mark-Jason Dominus has been programming in Perl since 1992. He
    is the author of the 'Memoize', 'Text::Template', and
    'Tie::File' modules, the author of the 'perlreftut' man page,
    and an occasional contributor to the Perl core. He won the
    2001 Larry Wall award for Practical Utility.

    For more details about me, see

    For more details about classes I teach, see

    For more details about this class, see


    We have plenty of space, but please make an advance reservation so
    that I know how many handouts to bring. To reserve, please send an
    email message to:

    Please do circulate this notice to any people or mailing lists that
    you think might want to see it.

    My grateful thanks go to Helen Anderson and Chip Buchholtz of the
    University of Pennsylvania School of Engineering and Applied Science
    for providing the space and AV equipment for these classes, and to
    JoDe Hendrick for setting it up.


    Questions? Send me email.

    [ Note: This message was posted with 'Distribution: phl'. If you
    received it, it is because your news administrator has chosen to
    receive articles that are specifically marked as being of interest
    to the Philadelphia local area. ]
    Mark Jason Dominus, Aug 26, 2003
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mike C. Fletcher
    Mike C. Fletcher
    Jul 28, 2003
  2. Peter Hansen
    Peter Hansen
    Oct 21, 2003
  3. David Goodger
    David Goodger
    Sep 11, 2007
  4. Matt Pattison
    Matt Pattison
    Sep 26, 2006
  5. Mark Jason Dominus

    Perl tutorial at U Penn on Friday 4 June

    Mark Jason Dominus, Jun 2, 2004, in forum: Perl Misc
    Mark Jason Dominus
    Jun 3, 2004