On Feb 17, 2010, at 2:52 PM, Erik Lewis wrote:
>
> On Feb 17, 2010, at 1:07 PM, Rob Dixon wrote:
>
>> Erik Lewis wrote:
>>> I've got a large text file that I'm trying to parse some fields from. I'm
>>> using substr to pull the first field and that is working just fine, now I'm
>>> trying to print the values between 2 irregular delimiters in this case a
>>> "^UT" and a "^". I'm matching it with m/ but I don't seem to be able to
>>> get it to print the string that matches. I've been struggling with this
>>> for a day and a half now without success.
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> snippet of statsample file
>>> D20010102102708016R
>>> ^S87CVFFSTAFF^UZ1933^PGFEMALE^PHCITY^PEADULT^UTBIO^IKMARC^^O00159
>>> D20010102104408016R
>>> ^S87CVFFSTAFF^UZ1933^PGMALE^PHCOUNTY^PEADULT^UTEASY^IKMARC^^O00159
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> My perl script
>>> #!/usr/bin/perl
>>> use warnings;
>>> open (IN, 'statsample');
>>> while (<IN>) {
>>> chomp;
>>> $stamp = substr($_,0,19); # extract the time stamp field
>>> $itemlocation = $_ =~ m/^UT(.*?)^/;
>>> print "$stamp,$itemlocation\n";
>>> }
>>> close (IN);
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> Result I get
>>> D20010102102708016,
>>> D20010102104408016R,
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> Result I want
>>> D20010102102708016,BIO
>>> D20010102104408016R,EASY
>>
>> use strict;
>>
>> and
>>
>> my $stamp = substr($_,0,19);
>> my ($itemlocation) = $_ =~ m/\^UT(.*?)\^/;
>>
>> Rob
>>
>> --
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> http://learn.perl.org/
>
> Thanks Rob, that changed the result
>
> D20010102093000111R,1
> D20010102093000111R,1
>
>
> Which I guess is the true value of the match, any idea on how to make it
> return the contents of the match?
>>
>
>
> --
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> http://learn.perl.org/
>
Thanks Rob, when I read what you had to say you solved my dilemma. Found this
link that explains why
http://www.perlmonks.org/?node_id=291543
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/