Perl tutorial at U Penn on Tuesday 2 September

M

Mark Jason Dominus

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
anyway.

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 http://www.eff.org/ 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


WHEN


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.

WHAT

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
-i.bak
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
Indexing
Void fields
Generic text indices
Packed offsets
Tie::File
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
Caching
Record modification
Immediate vs. Deferred Writing
Autodeferring
Miscellaneous Features
DBM
Common DBM Implementations
What DBM Does
Small DBMs: ODBM, NDBM, and SDBM
GDBM
DB_File
Indexing revisited
Ordered hashes
Partial matching
Sequential access
Multiple values
Filters
BerkeleyDB


WHARNING

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

WHERE

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
Philadelphia.

For directions to the University, see

http://www.facilities.upenn.edu/visitUs/

A map is available at:

http://www.facilities.upenn.edu/mapsBldgs/view_map.php3?id=407


WHO

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

http://perl.plover.com/yak/aboutme.html

For more details about classes I teach, see

http://perl.plover.com/yak/

For more details about this class, see

http://perl.plover.com/yak/lightweight-db/

WHOW

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:

(e-mail address removed)

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.

WHUH?

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. ]
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top