in reply to Changing variable names in a loop
If you want a parser that you don't have to change when you change your set of input criteria, you can do something like the following:
use strict; use warnings; use Data::Dumper; my %config = map { /^((?:inc|exc)_\w+)=(.*)$/ } <DATA>; print Dumper(\%config); __DATA__ inc_albums= a list of albums to include inc_genres= a list of genres to include inc_artists= a list of artists to include inc_songs= a list of songs to include inc_year= a list of years to include exc_albums= a list of albums to exclude exc_genres= a list of genres to exclude exc_artists= a list of artists to exclude exc_songs= a list of songs to exclude exc_year= a list of years to exclude
Which gives:
$VAR1 = { 'inc_genres' => ' a list of genres to include', 'inc_year' => ' a list of years to include', 'exc_albums' => ' a list of albums to exclude', 'inc_albums' => ' a list of albums to include', 'exc_year' => ' a list of years to exclude', 'exc_songs' => ' a list of songs to exclude', 'inc_artists' => ' a list of artists to include', 'inc_songs' => ' a list of songs to include', 'exc_artists' => ' a list of artists to exclude', 'exc_genres' => ' a list of genres to exclude' };
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Changing variable names in a loop
by Mad_Mac (Beadle) on Oct 16, 2010 at 09:45 UTC | |
by ig (Vicar) on Oct 16, 2010 at 20:42 UTC |