Re: Help needed for perl rookie
From: GRLCOPM (grlcopm_at_pacbell.net)
Date: 12/28/04
- Next message: Keith Williams: "Re: Is zero even or odd?"
- Previous message: chaoslawful: "Re: how Encode::Hanextra work?"
- In reply to: Bob Walton: "Re: Help needed for perl rookie"
- Next in thread: Bob Walton: "Re: Help needed for perl rookie"
- Reply: Bob Walton: "Re: Help needed for perl rookie"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 28 Dec 2004 16:31:37 GMT
> From: Bob Walton <see_sig@invalid>
> Organization: Newsfeed.com http://www.newsfeeds.com 100,000+ UNCENSORED
> Newsgroups.
> Newsgroups: comp.lang.perl.misc
> Date: Mon, 27 Dec 2004 22:34:20 -0500
> Subject: Re: Help needed for perl rookie
>
> GRLCOPM wrote:
>
>> I am new to perl, but so far have had decent success in writing/modifying
>> code to do what I want to do. However I am stuck trying to modify the
>> following code. I am sure the solution is quite simple, but I can't
>> completely figure out what this piece of code does. I think it is just
>> matching up a data pattern but this is an area I am unfamiliar with.
>>
>> All I want to do is change the format of the data file from example #1 to
>> example #2 and need this section of code to work with the new format. I
>> would be grateful for any help provided in understanding what this piece of
>> code does and suggestions on the modification needed.
>>
>> If more information or a larger chunk of the code is needed please let me
>> know and I will provide.
>>
>> EXAMPLE #1 - Current format of data file:
>> 0000000050 20041227 0000000003 'my-page.shtml'
>> 0000000054 20041227 0000000004 'another-page.shtml'
>> 0000000020 20041227 0000000003 'yet-another-page.shtml'
>>
>> EXAMPLE #2 - New format of data file:
>> 0000000050|20041227|0000000003|my-page.shtml
>> 0000000054|20041227|0000000004|another-page.shtml
>> 0000000020|20041227|0000000003|yet-another-page.shtml
>
> Your example #2 is in "pipe-delimited" form -- the best way to
> split it apart is with the split() function, as in:
>
> ($acc,$day,$dayacc,$uri)=split /\|/,$line;
>
>
>> if (($acc,$day,$dayacc,$uri) = ($line =~ /^(\d+) (\d+) (\d+) '(\S+)'$/)) {
>
>
> --
> Bob Walton
> Email: http://bwalton.com/cgi-bin/emailbob.pl
Thanks Bob,
I am familiar with the split function and have been looking for a solution
that utilizes it, but the line you provided does not seem to work as a
replacement for the line I included. I have been looking through
documentation including the references you provided, but I am still having a
hard time with this. I guess what I am looking for is someone to break down
what is happening in this line so that I can modify it to work as I need it
to. Here is the section of code in question.
&LockOpen (COUNT,"$AccessFile");
$location = tell COUNT;
while ($line = <COUNT>) {
if (($acc,$day,$dayacc,$uri) = ($line =~ /^(\d+) (\d+) (\d+) '(\S+)'$/)) {
if ($uri eq $doc_uri) {
last;
}
}
last if ($uri eq $doc_uri);
$location = tell COUNT;
$acc = 0;
$dayacc = 0;
}
And here is the specific line:
if (($acc,$day,$dayacc,$uri) = ($line =~ /^(\d+) (\d+) (\d+) '(\S+)'$/)) {
It reads the data file that is in this format:
EXAMPLE #1 - Current format of data file:
0000000050 20041227 0000000003 'my-page.shtml'
0000000054 20041227 0000000004 'another-page.shtml'
0000000020 20041227 0000000003 'yet-another-page.shtml'
I need it to perform the same function on a data file in this format:
EXAMPLE #2 - New format of data file:
0000000050|20041227|0000000003|my-page.shtml
0000000054|20041227|0000000004|another-page.shtml
0000000020|20041227|0000000003|yet-another-page.shtml
Based on the way this program works, my guess is that $uri is being compared
with the data inside the quotes '(\S+)' taken from the current line of the
data file. Right?
I appreciate your help and any further advice you or anyone else can offer.
- Patrick
- Next message: Keith Williams: "Re: Is zero even or odd?"
- Previous message: chaoslawful: "Re: how Encode::Hanextra work?"
- In reply to: Bob Walton: "Re: Help needed for perl rookie"
- Next in thread: Bob Walton: "Re: Help needed for perl rookie"
- Reply: Bob Walton: "Re: Help needed for perl rookie"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|