Perl,打开并阅读

Perl,打开并阅读,perl,Perl,如何获取目录内容,并读取其中的文件 但我无法使用此regexp中包含的命令和运算符: /system|[)(\/}{`;,!\\*_]|open|exec|eval/ 我认为这是一项非常艰巨的任务,我不知道如何完成,请帮帮我。这是家庭作业吗?如果是,您需要将其标记为 Perl有打开、读取和关闭目录的命令 要打开目录,请使用 要读取目录中的文件名,请使用命令 完成后,您可以使用 这些命令的工作方式与标准的open、read和close命令类似。如果这是家庭作业,这是我见过的最糟糕的问题之一,

如何获取目录内容,并读取其中的文件

但我无法使用此regexp中包含的命令和运算符:

/system|[)(\/}{`;,!\\*_]|open|exec|eval/

我认为这是一项非常艰巨的任务,我不知道如何完成,请帮帮我。

这是家庭作业吗?如果是,您需要将其标记为

Perl有打开、读取和关闭目录的命令

  • 要打开目录,请使用
  • 要读取目录中的文件名,请使用命令
  • 完成后,您可以使用

这些命令的工作方式与标准的
open
read
close
命令类似。

如果这是家庭作业,这是我见过的最糟糕的问题之一,所以我假设不是

perl -E'say for glob chr 42'



这真的很难,因为我们不能使用
opendir
或IO::Dir而不使用“
”或“
”,不能使用File::Find::Rule而不使用“
”和“
”,等等。

请重新表述问题如果这是家庭作业,请这样标记。看起来像是家庭作业。有关目录,您可以查看
opendir
。你所说的读取其中的文件是什么意思?。你想不使用
open
打开该文件吗?看起来教授忘记了禁止
qx
。关闭是因为“很难说出这里要问什么”???这个操作实际上非常精确!!!这个问题不是含糊的、不完整的、宽泛的或修辞性的,可以回答。
opendir
与提供的正则表达式模式匹配。不使用
也很难做到
。我不确定正则表达式模式的含义。我认为这是一个家庭作业,老师不希望他们使用
系统ls
$foo=$(ls)事物类型。我想
open
是verboten`但是
opendir
是被允许的。也许这是一次酒吧赌博。我想你可以使用
glob(*)。当然,这将包括分号。您不能使用
glob(“*”
),因为
*
是被禁止的。什么样的家庭作业不允许
并迫使您在一个表达式中执行需要多个语句才能正确执行的操作。我认为Matteo是对的,OP试图测试或绕过注入预防代码。事实上,你甚至不能使用括号和标点符号,这似乎真的是代码注入检查。@Matteo,啊,是的,我认为你是对的。谢谢!你很有用!
perl -e'print qx^ ls ^'
perl -MFile::Find::Rule -MMIME::Base64 -E's^^decode_base64 "c2F5IGZvciBGaWxlOjpGaW5kOjpSdWxlLT5tYXhkZXB0aCgxKS0+aW4oJy4nKTs="^ee'