Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 配置::简单和创建数组_Regex_Perl - Fatal编程技术网

Regex 配置::简单和创建数组

Regex 配置::简单和创建数组,regex,perl,Regex,Perl,我试图编写一个脚本,使用getopts收集用户输入。我需要能够限制用户可以输入的值。我知道如何设置默认值,但我一直无法找到任何方法来设置允许值的列表。。。所以 我正试图使用Config::Simple从存储在文本文件中的值创建一个数组,以用于验证 values.txt的内容 main.pl的内容 如您所见,我尝试了许多构造来纠正这一点,并验证每次都能得到正确的匹配结果。我不确定这是否与“咀嚼”有关,但我已经尝试了我能想到的每一种模式。我是Perl的初学者,非常感谢您的帮助。。。。如果有人能告诉我

我试图编写一个脚本,使用getopts收集用户输入。我需要能够限制用户可以输入的值。我知道如何设置默认值,但我一直无法找到任何方法来设置允许值的列表。。。所以

我正试图使用
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) )