Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems
Reformatting question

Posted by enquirer (enquirer), 3 November 2002
I want to parse some large files and put them into a format that will go into a database. Not every line has complete information. Some of the information is missing. I need to throw away the descriptions and leave behind the good info ....

The file has lines that look like this: country=US:state=TX:city=Dallas:areacode=214:lat=42.5044:long=-71.1964:timezone=CST:etc...

I want

Posted by admin (Graham Ellis), 3 November 2002
How about splitting each line at : and = into a hash:
       %line = ($wholeline =~ /([^:]+)=([^:]+)/g);
then re-joining a list slice
       $newline = join(":",@line{country,state,city,lat});

Tried it out on your data - worked for me. Note the assignment of a regular expression match straight into a hash (it's very useful that the key and value come in that order in the match), and the use of a hash slice.

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2018: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • FAX: 01225 793803 • EMAIL: • WEB: • SKYPE: wellho