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
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";
@dna=<INFILE>;
$dna=join('',@dna);
close INFILE;
@x= split(/\|/,$dna);
$stat= join(" ",@x[0..1]);
print"$stat";


a line from the file is:
ab|cd|aaaaaaaaaabbbbbbbbbbbbb|aaaaa
(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:

Code:
while(<DATA>) {
       @parts = split(/\|/);
       $ln = join(" ",@parts[0,1]);
       print "$ln\n";
       }
__END__
first|second|third
one|two|three|four
1|2|3|4|5|5
and so|on and|soforth






This page is a thread posted to the opentalk forum at www.opentalk.org.uk 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., 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