Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > how to search through file for certain criteria

Reply
Thread Tools

how to search through file for certain criteria

 
 
richjungk@gmail.com
Guest
Posts: n/a
 
      06-08-2006
guys i really need help!!!
i'm a beginner in perl language.
for my code i want to look for matching criteria.


Here is an example of the contents of the file.

c_c_flag::
survey28::2
driver1_G2_date_month::12
driver1_student::N
current_amount::6700
driver1_suspensionstart_year::2004
p1::5217
car1_comprehensive_coverage::0
driver1_conviction_1_month::01
p2::6740
driver1_conviction_1_year::2005
c1::KNGN
postal_code_2::1L

As you can see, each line contains a pair of strings separated by
'::'

i need to open the file and process it line by line, and figuring out
how many driver profiles are stored in the file and store this in an
array.
Put the array values into a hash to make them unique, and put the hash
back into an array.

Close the file.

Reopen the file and loop through the array and create hashes for each
driver to provide the following aggregate information:

Number of:
male drivers under age 25 with a conviction
female drivers under age 25 with a conviction

and, here is my code that i did so far..............

#!/urs/bin/perl -w

my %DATA;
my $dnum;
my $conviction;

chdir("directory path") or die;

open(FH, "ID1234.txt") or die "$!\n";

while(<FH>){
if($_ =~ / (driver \d ) / ) { # $1 is first match
push @drivers, $1;
}
}
close FH or die;

foreach(@drivers){
$D{"$_")++;
}

@sorts = sort(keys(%D)); # "driver1" "%D"

foreach(@sorts){
open *FH, "ID1234.txt") or die;

$dnum = $_ ;

while(<FH>){
if($_ =~ / $dnum( _conviction ) / ){
$conviction = $1;
}
}
close FH or die;
}


from now on, how to i search for criteria for

Number of:
male drivers under age 25 with a conviction
female drivers under age 25 with a conviction

 
Reply With Quote
 
 
 
 
John W. Krahn
Guest
Posts: n/a
 
      06-08-2006
wrote:
> guys i really need help!!!
> i'm a beginner in perl language.
> for my code i want to look for matching criteria.
>
>
> Here is an example of the contents of the file.
>
> c_c_flag::
> survey28::2
> driver1_G2_date_month::12
> driver1_student::N
> current_amount::6700
> driver1_suspensionstart_year::2004
> p1::5217
> car1_comprehensive_coverage::0
> driver1_conviction_1_month::01
> p2::6740
> driver1_conviction_1_year::2005
> c1::KNGN
> postal_code_2::1L
>
> As you can see, each line contains a pair of strings separated by
> '::'
>
> i need to open the file and process it line by line, and figuring out
> how many driver profiles are stored in the file and store this in an
> array.
> Put the array values into a hash to make them unique, and put the hash
> back into an array.
>
> Close the file.
>
> Reopen the file and loop through the array and create hashes for each
> driver to provide the following aggregate information:
>
> Number of:
> male drivers under age 25 with a conviction
> female drivers under age 25 with a conviction


I don't see any records that show the sex or age of the driver so you probably
can't do that.



John
--
use Perl;
program
fulfillment
 
Reply With Quote
 
 
 
 
richjungk@gmail.com
Guest
Posts: n/a
 
      06-08-2006
here is all contents in file (file name is ID1234.txt)

c_c_flag::
survey28::2
driver1_G2_date_month::12
driver1_student::N
current_amount::6700
driver1_suspensionstart_year::2004
p1::5217
car1_comprehensive_coverage::0
search_alternative_coverage::N
car1_liability_coverage::500
car1_stats::No
renew::July
client_phone3::7509
driver1_status::S
driver1_conviction_1_month::01
p2::6740
driver1_conviction_1_year::2005
c1::KNGN
driver1_birth_month::03
driver1_license::G
car1_km::0
LANG::
driver1_insured::2000
driver1_sex::M
postal_code_2::1L5
driver1_suspensionend_year::2004
driver1_convictions::1
driver1_suspensionend_month::08
c3::RBC
b_c_flag::
HabDateCompany_month::01
city::BRAMPTON
driver1_convictiontype_1::Criminal=CD
driver1_insured_now::Y
how_find::Sun Newspaper
current_company::echelon
car1_annual_mileage::10000
car1_drivers::1
rate_alert_period::30
driver1_training::Y
postal_code::L6P
driver_number::1
driver1_claims::0
client_phone2::888
driver1_license_date_month::12
car_number::1
driver1_birth_day::15
car1_annual_mileage_business::0
driver1_G1_date_year::1999
driver1_G1_date_month::03
driver1_nonpayment::0
driver1_suspensionstart_month::05
p3::8973
car1_make::ACURA
client_name::Stan Duhan
c2:AF
car1_collision_coverage::0
driver1_suspension::Y
car1_model::INTEGRA RS 2DR
client_email::
driver1_birth_year::1983
driver1_license_date_year::2003
car1_primary::1
client_phone1::416
driver1_first_name::Stan
driver1_retired::N
HabDateCompany_year::Not Applicable
car1_year::1991
driver1_G2_date_year::1999
AssumeMultiLine::N
car1_use:


>
> I don't see any records that show the sex or age of the driver so you probably
> can't do that.
>
>
>
> John
> --
> use Perl;
> program
> fulfillment


 
Reply With Quote
 
Tad McClellan
Guest
Posts: n/a
 
      06-08-2006
<> wrote:

> guys i really need help!!!



Then you should take some care to avoid wearing out your welcome
on your very first post.


> and, here is my code that i did so far..............



It is not Perl code!


> #!/urs/bin/perl -w

^^^
^^^

Is this your real code?

Probably not. So then, are you wasting our time by having us
debug a program that does not even exist?

Probably.

That is Not Good.


> foreach(@drivers){
> $D{"$_")++;

^ ^
^ ^

If you open with a curly, then you should close with a curly.

See also:

perldoc -q vars

What's wrong with always quoting "$vars"?


> open *FH, "ID1234.txt") or die;

^
^

Where is the opening parenthesis?


I am now quite sure that you have a lack of respect for the
hundreds of people here. You are on your own.

So long!


--
Tad McClellan SGML consulting
Perl programming
Fort Worth, Texas
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
how to search through file for matching criteria richjungk@gmail.com Perl Misc 1 06-08-2006 02:32 AM
Grid to count records meeting certain criteria (region) =?Utf-8?B?U2NvdHQgYXQgQ2VkYXIgQ3JlZWs=?= ASP .Net 0 02-09-2006 11:25 PM
Need: PC cam with certain criteria Jay Pennington Digital Photography 1 03-02-2005 05:34 PM
Highlight Text based on certain criteria Stephajn Craig ASP .Net 2 07-07-2003 11:07 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57