in reply to Matching probem
TMTOWTDI with desperate effort to sanitize the weird data. And aren't Eon and Xcent different models?
#!/usr/bin/env perl use strict; use warnings; use Data::Dump; undef $/; my $data = <DATA>; $data =~ s/\n+/ /g; my @cars = map { s/ $//; $_ } map { s/^ //; $_ } grep { $_ ne "" } split /CARS/, $data; my %cars; for (@cars) { my @record = map { s/ $//; $_ } split /\+|\*\./; my @basic = split / /, shift @record; my $brand = shift @basic; $cars{$brand}{models}{basic} = [@basic]; $cars{$brand}{comment} = pop @record; $cars{$brand}{models}{plus} = [ map { split( ' ', $_ ) } @record +]; } dd \%cars; __DATA__ CARS TOYOTO Etios Innova Camry +Fortuner Corolla *.This is Class cars. CARS HYUNDAI Verna i10 i20 +Eon Xcent +Tucson *.It is best cars. CARS HONDA City Brio Amaze +Accord *.This is Luxury cars.
This yields:
krls-mac-mini:Desktop karl$ ./cars.pl { HONDA => { comment => "This is Luxury cars.", models => { basic => ["City", "Brio", "Amaze"], plus = +> ["Accord"] }, }, HYUNDAI => { comment => "It is best cars.", models => { basic => ["Verna", "i10", "i20"], plus => ["Eon", "Xcent", "Tucson"], }, }, TOYOTO => { comment => "This is Class cars.", models => { basic => ["Etios", "Innova", "Camry"], plus => ["Fortuner", "Corolla"], }, }, }
Regards, Karl
«The Crux of the Biscuit is the Apostrophe»
Furthermore I consider that Donald Trump must be impeached as soon as possible
|
|---|