If it were me, I'd use the list of valid collections that you already have (assuming I understand your data correctly). Something like:
# Note: Still has underscsores: my @collections = map { $_ =~ s/\.txt//; $_ } grep {/^\p{uppercase}/} @collections_list; # $collection guaranteed to match one of your file names. my $collection_raw = $cgi->param('collection'); my ($collection) = grep { $_ eq $collection_raw } @collections; $collection //= 'Deafult'; # If your file names might have <>", you can still do this: $collection = encode_entities($collection); # Without underscores my @collection_labels = map { $_ =~ s/_/ /g; $_ } @collections;
Generally, it is safest to do something like this before using $collections for anything.
Good Day,
Dean
In reply to Re^3: Collapsing smaller scripts into a larger one, request for comment
by duelafn
in thread Collapsing smaller scripts into a larger one, request for comment
by Lady_Aleena
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |