Regex 配置::简单和创建数组
我试图编写一个脚本,使用getopts收集用户输入。我需要能够限制用户可以输入的值。我知道如何设置默认值,但我一直无法找到任何方法来设置允许值的列表。。。所以 我正试图使用Regex 配置::简单和创建数组,regex,perl,Regex,Perl,我试图编写一个脚本,使用getopts收集用户输入。我需要能够限制用户可以输入的值。我知道如何设置默认值,但我一直无法找到任何方法来设置允许值的列表。。。所以 我正试图使用Config::Simple从存储在文本文件中的值创建一个数组,以用于验证 values.txt的内容 main.pl的内容 如您所见,我尝试了许多构造来纠正这一点,并验证每次都能得到正确的匹配结果。我不确定这是否与“咀嚼”有关,但我已经尝试了我能想到的每一种模式。我是Perl的初学者,非常感谢您的帮助。。。。如果有人能告诉我
Config::Simple
从存储在文本文件中的值创建一个数组,以用于验证
values.txt的内容
main.pl的内容
如您所见,我尝试了许多构造来纠正这一点,并验证每次都能得到正确的匹配结果。我不确定这是否与“咀嚼”有关,但我已经尝试了我能想到的每一种模式。我是Perl的初学者,非常感谢您的帮助。。。。如果有人能告诉我一种更简单/更干净的方法来实现这个结果,我将非常感激您能发布简化的可运行代码来演示这个问题。你删掉了很多内容,很难判断是什么导致了问题。当我尝试时,
$\u=~$change\u类别
也与风暴
匹配。
ChangeCategories resolution, storm
#---create array from values.txt ChangeCategories
my @chg_cats = $cfg->param("ChangeCategories");
unlink $_ for @chg_cats;
#----grab user input via getopts
my $change_categories = $opt_c || die "Please enter a valid change category; @chg_cats";
The issue occurs when I attempt to do the pattern match, it is matching only the first value listed on the ChangeCategories line in the values.txt file.
#---pattern mathching code
my $valid_category;
chomp(@chg_cats);
foreach (@chg_cats) {
#@foreach my $line (@chg_cats) {
if(($_ =~ $change_categories) )
#if(($_ =~ m/$change_categories/) )
#if(($_ eq $change_categories) )