|
Perl for system administration — a 4-day course
Synopsis
A specialist Perl training course for system administrators, who want to use
the Perl programming language to get their jobs done more quickly and
efficiently.
This Perl course includes a thorough grounding in generic Perl programming
before moving on to specialised system administration tools and techniques.
Suitable For
- Programmers who need to administer IT systems on any of today's major
platforms and in multi-platform environments.
Delegates with backgrounds in C-like languages will recognise elements of
Perl syntax and can use much existing knowledge, but must beware the temptation
to translate literally from C/C++. Perl's native way of doing things is
invariably more efficient and better adapted to specialist system
administration tasks.
System administrators with limited scripting (rather than pure programming)
experience may need more than 4 days to benefit fully from this
course.
Like all our Perl courses, this course is designed for cross-platform system
administration, but Unix sysadmins will benefit particularly by recognising
tools which have been incorporated into Perl from their favourite OS.
Prerequisites
- Programming experience in at least one programming language or
scripting language, e.g., C, C++, Java, PHP, Visual Basic, Pascal, or
COBOL.
- System administration experience with a server operating system
Delivery
This is a hands-on Perl workshop based around the coding of real world
solutions to real world system administration problems.
This Perl course is currently only run as in-house/on-site training for
company groups.
We are prepared to take bookings from individuals for the occasional public
running of the course, but publicly scheduled dates are only offered once we
have a significant number of commitments to attend.
Please contact us at training@gbdirect.co.uk to arrange
delivery of this course for your company or to register an interest in an
individual place on a public presentation of this course. Please state
clearly which of these options applies to you.
Contents
Preparing to learn perl
- Things you need to know and do in order to run Perl programs and learn Perl
programming
- A module designed for complete beginners
- The
perl compiler/interpreter
- Perl under Unix/Linux
- Perl under MS Windows 2000/NT/95/98/ME (
perl.exe)
- ActiveState Perl
- Making programs executable (
chmod +x)
- Perl from the command line (
perl command)
- Specify the perl compiler/interpreter (
#!)
- Using plain text for programs
- Writing a very simple program
- Running a very simple program
- Basic syntax
Perl: the absolute minimum
- Enough of the language to get started
- The
print function
- Variables
- Scalars — numbers and strings
- Assignment
- Simple conditional tests —
if
- Lists
- Arrays — for storing lists
foreach loops
- Hashes
- Other loops:
while, for, do,
until
- Arrays — the rest
- Simple input, e.g.,
while(<>)
- Functions overview — recognising, writing, using
- Simple file handling —
open, print
- Subroutines — parameters in and out, listification, local
variables (
my)
- Help —
perldoc, books, web
Regular expressions
- Text manipulation with regular expressions
- Matching strings
- Matching the default variable
- Case-sensitivity and matching
- Special characters
- Special characters: where
- Special characters: what
- Special characters: how many
- Built-in character classes
- Built-in character class examples
- Capturing
- Regular expression examples
- Substitution
- Global substitutions
Perl: beyond the basics
- More flow control
- Statement modifiers
- Quoting mechanisms —
qq(), etc.
- Here documents
- Uppercase/lowercase conversion
- Splitting strings into lists
- Joining lists into strings
- Filtering lists with
map
- Sorting lists
- The importance of context
- Assignment shortcuts
- Scoping rules
- Special variables
Complex data structures & references
- Limits of flat lists
- Nesting arrays
- Array references
- Anonymous arrays
- Named array references
- Passing multiple arrays to/from functions
- Hashes of arrays
- Hash references
- Arrays of hashes
- Hashes of hashes
- Complex nested data structures
- Code references
- Dispatch tables
Finding Out More For Yourself
- How to read Perl's documentation
- Where to find more information
- Knowing what's out there to look for
- FAQs
|
Using Perl Modules from CPAN
- The Comprehensive Perl Archive Network (CPAN)
- Why effective Perl programmers are efficient CPAN users
- CPAN's philosophy
- Finding modules
- Installing Modules
- Using modules
- Some particularly useful modules
The Perl debugger & debugging perl
- Avoiding bugs
- Perl's built-in debugger
- Invoking the debugger
- What you can do with the debugger
- Understanding the debugger's command line interface
- Knowing the debugger's basic command set
- Exploring some extended functions
- Graphical debuggers
- Alternative debugging techniques
Command-Line Perl
- General principles
- Using Perl as a filter
- Editing files in-place
- Many real world examples
- Command line flags
- Many examples using regular expressions
A Whistle-Stop Tour of the World of Perl
- Wheels you don't need to re-invent
- Common recipes
- Common pitfalls
Advanced File Processing with Perl
- Types of
open
- Filehandles
- Reading line by line
- Reading paragraph by paragraph
- Reading entire files
- Special variables
- The flip-flop operator (
..)
- File test functions
- Pipes
Perl Security Issues
- Potential security pitfalls
- Coding for security
- Taint checking
- Dangerous environment variables
- File input
- Set-user-id Perl programs
- Permissions and users
System interaction
- Connecting to other programs
- Unsafe pipes
- Using
IO::Pipe
- Grabbing a program's output
- Other ways to run programs
Managing Users and Processes with Perl
- User identity across platforms
- Process control
- Scheduling events
- Managing disk quotas
- Querying filesystem usage
- Monitoring file operations
- Monitoring network operations
- Related perl modules
Managing Networks with Perl
- Host Files
- DNS
- NIS lookups
- WHOIS
- LDAP
- ADSI
- Sending and receiving email
- Related modules
Logging with Perl
- Text logs
- Logs used on Unix
- Handling state
- Disk usage problems
- Log analysis
- Log munging
- Logging related modules
|
|
Publicly Scheduled Training Locations
We currently run public training courses in the following locations:
- London, UK
- Leeds, West Yorkshire, UK
- Birmingham, West Midlands, UK
- Carshalton, Surrey, UK
- Chester, North West, UK
- Coventry, West Midlands, UK
- Edinburgh, Scotland, UK
- Glasgow, Scotland, UK
- Harwell, Oxfordshire, UK
- Manchester, North West, UK
- Milton Keynes, Buckinghamshire, UK
- Newark, Nottinghamshire, UK
- Reading, Berkshire, UK
- Slough, Berkshire, UK
- Stevenage, Hertfordshire, UK
- Wakefield, West Yorkshire, UK
- Wokingham, Berkshire, UK
Most UK public training courses are available on a monthly basis.
Please see the individual course outlines or our public
training schedule
for details.
In-house (on-site) training locations
We deliver in-house courses at client premises and/or training facilities in
any part of the world which is practically and commercially accessible.
Our In-house training guidelines
outline our basic requirements and our UK pricing structure. To estimate costs
for training in other countries, simply convert to your local currency and then
make a rough calculation of our tutor's costs for travelling to and staying at
your location.
|