R
richjungk
guys i really need help!!!
i'm a beginner in perl language.
for my code i want to look for matching criteria.
here is the contents of 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
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::[email protected]
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:
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
i'm a beginner in perl language.
for my code i want to look for matching criteria.
here is the contents of 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
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::[email protected]
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:
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