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