我可以从stdin运行Perl脚本吗?

sol*_*tim 6 perl

假设我有一个Perl脚本,即mytest.pl.我可以用类似的东西来运行它cat mytest.pl | perl -e吗?

我想这样做的原因是我有一个加密的perl脚本,我可以在我的c程序中解密它,我想在我的c程序中运行它.由于存在安全问题,我不想将解密的脚本写回硬盘,所以我需要在内存中运行这个perl脚本.

这个问题与cat命令无关,我只想知道如何将perl脚本提供给stdin,并让perl解释器运行它.

Bri*_*new 5

perl < mytest.pl 
Run Code Online (Sandbox Code Playgroud)

应该在任何shell中做到这一点.它调用perl并通过shell重定向操作符提供脚本<.

但正如所指出的那样,似乎有点不必要.为什么不用脚本启动脚本

#!/usr/bin/perl
Run Code Online (Sandbox Code Playgroud)

也许

#!/usr/bin/env perl
Run Code Online (Sandbox Code Playgroud)

?(经过修改以反映您的Perl和/或env路径)

注意无用的猫奖.每当我使用时,cat我会停下来思考shell是否可以为我提供此功能.