my @list = map { chomp($_); $_ } <$fh>;
my @uc_list = map { chomp $_; [uc $_] } <$lc_fh>; # used only once
my @split_list = map { chomp $_; [ split(/\|/, $_) ] } <$piped_fh>; # used only once
####
my @array = map {
$_ =~ s/^[\*\+-] (.+)/$1/;
some_sub($_, $opt);
} @another_array;
##
##
my @ids = map {
$_ =~ s/<.+?>//g;
$_ =~ s/^(\d+([stnrdh]{2}|))/NUMWORDS($1)/e;
$_ =~ s/(.)\.\w{2,5}?$/$1/;
$_ =~ s/&/and/g;
$_ =~ s/&/and/g;
$_ =~ s/Æ/Ae/g;
$_ =~ s/Ç/C/g;
$_ =~ s/Ü/U/g;
$_ =~ s/(è|é|ê)/e/g;
$_ =~ s/#/No/g;
$_ =~ s/ /_/g;
$_ =~ s/[^\w:.\-]//g;
$_;
} grep {defined($_)} @base;
##
##
sub fancy_map {
my ($opt, $list) = @_;
map {
if (ref($_)) {
fancy_map($opt, $_);
}
else {
my $before = $opt->{'before'} ? $opt->{'before'}.' ' : '';
my $after = $opt->{'after'} ? ' '.$opt->{'after'} : '';
$_ = $before.$_.$after;
}
} @{$list};
}
##
##
if ($raw_value =~ /\*/) { # multiplication
$total_value = eval($raw_value);
($amount, $base_value) = split(/\*/,$raw_value);
}
elsif ($raw_value =~ /\//) { # division
$base_value = eval($raw_value);
($total_value, $amount) = split(/\//, $raw_value);
}