Andrew Libby on 18 Jan 2006 13:30:04 -0000 |
Okay, so if you've got whitespace in your field values, something more like this might work: while(<FILE>) { # Even though \s matches tabs, I'm trying to focus on # multiple whtiespaces OR a tab. I usually have to play around # with greed to make things like this work effictively. One thing that # might make a difference is to place a ? after the first * to minimize the # amount gobbled up by .* my($data) =~ /.*(?:\s{2,}|\t)(.*)$/; } Andy Eric wrote: >Thanks for the suggestion. Unfortunately, some of the data later >in the file has embedded spaces in the text making split unworkable. > >I just went with the fixed column thing and "corrected" the tabs. :-) > >Eric > >On Tuesday 17 January 2006 9:01 pm, Toby DiPasquale wrote: > > >>On Tue, Jan 17, 2006 at 06:55:22PM -0500, Eric wrote: >> >> >>>I know there are perl hackers about... >>> >>>I have a file - a typical line might look like this: >>> >>>1 1 1 Ownership FeeSimple >>> >>> >Fee Simple > > >>>The desired data is the last field - indexed by the first three and forget >>> >>> >the > > >>>other two. The "hitch", if you will, is that I'm using unpack to get the >>>fields like this: >>> >>>#!/usr/local/bin/perl >>>open EAT, "<Translation.txt" or die "bummer dude - no file?\n" ; >>>while (<EAT>) { >>> ($f1, $f2, $f3, $junk, $junk2, $data) = unpack("a10, a9, a8, a26, a18, >>> >>> >a35 ", $_) ; > > >>> print $data ; >>>} >>> >>> >>I don't know about Perl, but in Ruby this is: >> >>#!/usr/bin/env ruby >>IO.foreach("Translation.txt") do |line| >> f1, f2, f3, j1, j2, data = line.split >> puts data >>end >> >>I believe that Perl has a split() function, as well. Maybe use that >>instead of unpack? >> >>-- >>Toby DiPasquale >>___________________________________________________________________________ >>Philadelphia Linux Users Group -- http://www.phillylinux.org >>Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce >>General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug >> >> >> >> >> > > > -- Andrew Libby alibby@philadelphiariders.com http://philadelphiariders.com/ Motorcycle Enthusiasm, Philadelphia Style 1999 SV650 1999 Laverda 750S 1996 BMWR1100RS 1981 Moto Guzzi CX100 (in Lemans I clothing) ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|