草庐IT

perl-critic

全部标签

regex - 将 grep linux 命令与 perl regex + 捕获组一起使用

所以我对这个主题做了一些研究,但我没有找到完美的解决方案。例如,我在变量中有一个字符串。var="a1b1c2"现在我想做的是只匹配“a”后跟任何数字,但我只希望它返回“a”之后的数字匹配它的规则如'a\d'因为我只需要数字,所以我尝试了'a(\d)'也许它确实在某个地方捕获了它,但我不知道在哪里,这里的输出仍然是“a1”我还尝试了一个非捕获组来忽略输出中的“a”,但在perl正则表达式中没有效果:'(?:a)\d'作为引用,这是我终端中的完整命令:[root@host~]#var="a1b1c2"[root@host~]#echo$var|grep-oP"a(\d)"a1可能没有-P

linux - 在 Perl 中编辑 linux 功能

在C程序中,您可以使用libcap中的cap_set_proc编辑您的功能。我怎样才能在Perl程序中实现相同的目的? 最佳答案 Linux::Prctl可能会满足您的需求。如果没有,你可以使用syscall()并尝试doitthehardway.如果这也令人不快(我会这么认为),我相信CPAN会欢迎您贡献Linux::CapNG绑定(bind)... 关于linux-在Perl中编辑linux功能,我们在StackOverflow上找到一个类似的问题: ht

linux - 在 Perl 中编辑 linux 功能

在C程序中,您可以使用libcap中的cap_set_proc编辑您的功能。我怎样才能在Perl程序中实现相同的目的? 最佳答案 Linux::Prctl可能会满足您的需求。如果没有,你可以使用syscall()并尝试doitthehardway.如果这也令人不快(我会这么认为),我相信CPAN会欢迎您贡献Linux::CapNG绑定(bind)... 关于linux-在Perl中编辑linux功能,我们在StackOverflow上找到一个类似的问题: ht

php - 在 Linux 上以特权用户身份通过​​ PHP/Perl 脚本运行命令

背景:我正在为一家允许用户通过网络界面创建FTP帐户的公司编写脚本。在后台,脚本必须运行一堆命令:将用户添加到系统(useradd)打开和编辑各种文件通过sendmail给用户发邮件还有一些其他的东西......我基本上是在寻找最安全的方式来做到这一点。我听说过setuid方法、sudo方法,当然还有以特权用户身份运行httpd。当然,在执行任何命令之前,将对输入的数据进行完整性检查(即用户名中只有字母数字字符)那里流行的脚本(例如webmin)使用什么方法,因为它必须相当安全? 最佳答案 我会设置一个队列,网络绑定(bind)脚本

php - 在 Linux 上以特权用户身份通过​​ PHP/Perl 脚本运行命令

背景:我正在为一家允许用户通过网络界面创建FTP帐户的公司编写脚本。在后台,脚本必须运行一堆命令:将用户添加到系统(useradd)打开和编辑各种文件通过sendmail给用户发邮件还有一些其他的东西......我基本上是在寻找最安全的方式来做到这一点。我听说过setuid方法、sudo方法,当然还有以特权用户身份运行httpd。当然,在执行任何命令之前,将对输入的数据进行完整性检查(即用户名中只有字母数字字符)那里流行的脚本(例如webmin)使用什么方法,因为它必须相当安全? 最佳答案 我会设置一个队列,网络绑定(bind)脚本

linux - 在 Perl 中从管道读取无缓冲数据

我正在尝试从Perl中的管道读取未缓冲的数据。例如在下面的程序中:openFILE,"-|","iostat-dx105";$old=selectFILE;$|=1;select$old;$|=1;foreach$i(){print"GOT:$i\n";}iostat每10秒(五次)吐出数据。您会希望这个程序做同样的事情。然而,它似乎挂起50秒(即10x5),之后它吐出所有数据。我怎样才能让返回任何可用的数据(以无缓冲的方式),而不用一直等待EOF?附言我在Windows下看到过​​很多关于此的引用-我在Linux下这样做。 最佳答案

linux - 在 Perl 中从管道读取无缓冲数据

我正在尝试从Perl中的管道读取未缓冲的数据。例如在下面的程序中:openFILE,"-|","iostat-dx105";$old=selectFILE;$|=1;select$old;$|=1;foreach$i(){print"GOT:$i\n";}iostat每10秒(五次)吐出数据。您会希望这个程序做同样的事情。然而,它似乎挂起50秒(即10x5),之后它吐出所有数据。我怎样才能让返回任何可用的数据(以无缓冲的方式),而不用一直等待EOF?附言我在Windows下看到过​​很多关于此的引用-我在Linux下这样做。 最佳答案

linux - 如何在 Perl 中找到图形的连通分量?

我有以下节点和边的集合。我想要做的是从中找到所有不同的图形。my%connections=(36=>[31],10=>[3,4],31=>[30,22],30=>[20],22=>[20,8],20=>[1],8=>[5],5=>[2],2=>[1,20],3=>[7]);在这个例子中它将产生:my%all_graph={graph1=>{36=>[31],31=>[30,22],30=>[20],22=>[20,8],20=>[1],8=>[5],5=>[2],2=>[1,20]}.graph2=>{10=>[3,4],3=>[7]}};是否有任何现有算法可以做到这一点?

linux - 如何在 Perl 中找到图形的连通分量?

我有以下节点和边的集合。我想要做的是从中找到所有不同的图形。my%connections=(36=>[31],10=>[3,4],31=>[30,22],30=>[20],22=>[20,8],20=>[1],8=>[5],5=>[2],2=>[1,20],3=>[7]);在这个例子中它将产生:my%all_graph={graph1=>{36=>[31],31=>[30,22],30=>[20],22=>[20,8],20=>[1],8=>[5],5=>[2],2=>[1,20]}.graph2=>{10=>[3,4],3=>[7]}};是否有任何现有算法可以做到这一点?

linux - 系统 ("linux_command") 与 Perl 库函数

在Perl中,可以使用Perl内置函数或使用调用shell命令的system()来实现某些目标。问题是,对于我这个Perl初学者来说,有时很难找到与Linux命令等价的Perl。以这个为例:catfile1file2|sort-u>file3我真的只想使用Perl函数来使我更像Perlish,但我无法轻易找出如何避免在这种情况下使用system()。所以我想知道,使用Perl库函数是否比使用system()调用有任何优势?哪种方法更好? 最佳答案 通常使用库函数的优势在于,当出现问题时,您可以给出有意义的错误消息。对于短期脚本或当开