Thanks for all the help! I got some really good
responses and I'm on the right track. 
The H110704567.CRD is my delimeter ans I wanted to
include it in the split, so a file:
H5432.CRD
stuff
stuff
H56533.RPT
stuff
stuff

would look like this after the split:
1 file

H5432546789.CRD
stuff
stuff


then another file:

H5653334567.RPT
stuff
stuff


I added a look ahead ?= and that seems to work except
for the [0] element, for some reason it leaves the H#
out. But at least I'm a lot closer.

#!/usr/bin/perl

open (FILE, "rn410rpt.txt");

while (<FILE>) {
$i = 0;
local $/ = undef;
@chunks = split(/(?=H\d{10}\.[A-Z]{3})/, <FILE>);
print $chunks[0];
}





--- "Elston, Jeremy" <[EMAIL PROTECTED]> wrote:
> Are you saying 'H110704567.CRD' is your delimiter?? 
> You want the data on
> either side of that sequence?  
> 
> split(/H\d{10}\.[A-Z]/   - will only match
> 'H110704567.C'
> 
> You need to split(/H\d{10}\.CRD/  or
> split(/H\d{10}\.[A-Z]{3}/
> 
> Sample data:
> -----
> This is field 1H110704567.CRDand this is field 2
> -----
> Would give you:
>       @chunks = ('This is field 1', 'and this is field
> 2');
> 
> 
> Now, if you are really trying to parse out the
> numeric sequence, you want to
> do a pattern match.  Along the lines of (untested
> code):
> -----
>       open (FILE, "rn410rpt.txt");
> 
>       local $/ = undef;
>       my $whole_file = <FILE>;
>       
>       while($whole_file =~ /H(\d{10}\).CRD/g)
>       { print "RESULT: $1";   }
> -----
>       RESULT: 110704567
> 
> 
> Jeremy Elston 
> Sr. Staff Unix System Administrator 
> Charles Schwab & Co., Inc. 
> 
> "The Jim Conspiracy IS real!  You will be
> assimilated!" 
> 
> http://www.geekcode.com
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.1
> GCS d? s a? C++++ US+++ P++++$ L+> E--- W+$ N+
> o K w+ O- M> V-- PS@ PE Y+ PGP t 5++ X@ R@ tv+
> b+++@ DI++++ D+ G e* h-- r- z*
> ------END GEEK CODE BLOCK------
> WARNING:  All email sent to this address will be
> received by the Charles
> Schwab Corporate email system and is subject to
> archival and review by
> someone other than the recipient
>  
> 
> 
> 
> -----Original Message-----
> From:
> [EMAIL PROTECTED]
>
[mailto:[EMAIL PROTECTED]
> On Behalf Of Dave
> Ball
> Sent: Monday, March 08, 2004 8:18 AM
> To: [EMAIL PROTECTED]
> Subject: [Perl-unix-users] Confused about split
> 
> 
> Hello, maybe someone can shed some light on a
> problem
> I'm having. I'm trying to split a file into pieces
> like the one listed below. What I key it on is
> H110704567.CRD and it changes for each account. The
> only thing that is consistent is the placement and
> it
> begins with "H" followed by 10 digits and a 3 letter
> extension.
> 
> I'm using the code below and no matter how I put it
> I
> can never get the H110704567.CRD included in the
> split. I tried parens as well too. When I finally
> get
> it working there will be a loop that prints out all
> of
> the elements. 
> Any help will be greatly appreciated!
> 
> open (FILE, "rn410rpt.txt");
> 
> while (<FILE>) {
> local $/ = undef;
> @chunks = split(/H\d{10}\.[A-Z]/, <FILE>);
> print $chunks[0];
> 
> 
> 
> H110704567.CRD
> 1MISC-CREDITS                                       
>  
>       101  1107077467  Company     12-01-03        
> 1
>  stuff
> more stuff
>                                                     
>  
>   MISC 138,412,674.24       19GT
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Search - Find what you're looking for faster
> http://search.yahoo.com
> _______________________________________________
> Perl-Unix-Users mailing list
> [EMAIL PROTECTED]
> To unsubscribe:
http://listserv.ActiveState.com/mailman/mysubs


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you’re looking for faster
http://search.yahoo.com
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to