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
first 2 words only!!!!!!!!!!!!

Posted by rick (rick), 11 November 2007
I want only the first 2 words from every line of a particular file and store them into a array.But every time I try to do it only the first 2 elements of 1st line are picked not every first 2 elements of every line.
I really dont know what is the problem with the code.plz advice

my code is:

#!usr/bin/perl -w
open(INFILE,"<c.txt") or die "cant open file:$!\n";
close INFILE;
@x= split(/\|/,$dna);
$stat= join(" ",@x[0..1]);

a line from the file is:
(this is just a example)

Posted by admin (Graham Ellis), 11 November 2007
You need to process each line of the data separatly - you're slurping the whole lot into a list, joining it together, and just pulling the first two elements off the whole.    Here's a modified sample doing the sort of thing you want:

while(<DATA>) {
       @parts = split(/\|/);
       $ln = join(" ",@parts[0,1]);
       print "$ln\n";
and so|on and|soforth

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