Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Extracting information from a file of records

Here's a very common application ...

You file a file of data records, and you want to parse the file handing the data record by record. Each record has a series of space delimited fields, most of which are no interest to you what so ever ...

And a template for a solution in Perl.

open (FH,--put file name here in quote--) or --handle error--
while ($report = <FH>) {
# Using list slices of anonymous lists to extract data
# $report = ("192.168.200.67 e-w-f graham mac 2005 17 Tiger mucky");
($cpuname,$yop) = (split(/\s+/,$report))[1,4];
print "$yop - $cpuname\n"; }


I dare say you were expecting a long example there, but in Perl I've done the whole thing in just six lines - and two of THEM are comments. The trick comes in the use of anonymous list slices:

(split(/\s+/,$report))[1,4];

"Take the string in $report. Divide it into a series of chunks, delimted at white space. But I'm only interested in returned fields 2 and 5 (i.e. numbers 1 and 4 because we start counting at zero).

Taking the data sample line I've included in my program sample, just the host computer name and the year of purchase are returned. No need for me to throw away explicitly the fields I don't want, and using
($cpuname,$yop) =
I can even assign each returned element to an appropriate scalar.

I might not do Perl as much as I used to , but I'm sure enjoying presenting the Perl Course this week!
(written 2008-01-16, updated 2008-01-17)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P669 - Perl - Data Munging
  [3764] Shell, Awk, Perl of Python? - (2012-06-14)
  [3707] Converting codons via Amino Acids to Proteins in Perl - (2012-04-25)
  [3335] Practical Extraction and Reporting - (2011-06-26)
  [2702] First and last match with Regular Expressions - (2010-04-02)
  [2129] Nothing beats Perl to solve a data manipulation requirement quickly - (2009-04-14)
  [1947] Perl substitute - the e modifier - (2008-12-16)
  [1316] Filtering and altering Perl lists with grep and map - (2007-08-23)
  [597] Storing a regular expression in a perl variable - (2006-02-09)


Back to
How not to write Perl?
Previous and next
or
Horse's mouth home
Forward to
Handling Binary data (.gif file example) in Perl
Some other Articles
Perl, PHP or Python? No - Perl AND PHP AND Python!
Summer Ball at Bowood - Saturday 12th July 2008
Buses from Well House Manor, Melksham, to Bath
Handling Binary data (.gif file example) in Perl
Extracting information from a file of records
How not to write Perl?
Comments on proposed Asda Superstore for Melksham
Ongoing Image Copyright Issues, PHP and MySQL solutions
Script to present commonly used images - PHP
Flooding by Asda-s proposed new supermarket
4300 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1509_Ext ... cords.html • PAGE BUILT: Thu Sep 18 15:30:25 2014 • BUILD SYSTEM: WomanWithCat