Articles of perl

perl问题需要从文件中获取价值

我正在编写一个Perl脚本来自动化我们的Oracle数据库上的某些进程。 脚本的一部分涉及将脚本置于睡眠状态,直到警报日志显示数据库打开。 我打算睡觉,直到(logevalmodule)。 logevalmodule将是一个子过程,它打开并使用tail -f监视警报日志。当日志中出现OPEN字时返回true。 任何人都可以帮助我解决可能的问题 我有两个障碍,使这项工作。 警报日志的path将不在Oracle服务器上的所有数据库的相同位置,例如“apps13 / oracle / admin / db1 / bdump”和“apps14 / oracle / admin / db2 / bdump”。 另一个障碍是将尾部-f格式化为脚本。 谢谢。

什么是在Solaris / OpenSolaris上安装perl模块的“最佳实践”?

我目前正在编写我编写的一些软件的设置说明,这些软件是作为一组Perl模块实现的。 完成了各种风格的Linux之后,我现在对Solaris / OpenSolaris(仅适用于v10)也是如此。 设置过程的一部分是确保安装相关的Perl模块。 这在Linux上非常容易,因为我需要的Perl模块往往在发行版的打包系统中(例如yum install perl-Cache-Cache )。 这在Solaris上并不是这样,所以我正在使用CPAN模块来获取从属模块(例如, perl -MCPAN -e 'install Cache::Cache' )的设置指令。 这工作正常,但有模块需要的东西与C编译器已知的问题。 问题是生成的C Makefile假定你使用的是Sun的编译器,并使用了gcc不能理解的命令行选项,而你可能正在使用它。 Internetz咨询已经抛出了一些解决scheme: 安装并使用Sun的编译器 使用perlgcc包装器脚本 手动编辑makefile(yuk) 所有这些工作。 对于那些比我更熟悉Solaris的人,我的问题是:这是“最好的”还是“最常用的”方法之一?

我如何在FreeBSD中自动安装Perl模块?

我需要自动安装大量的Perl模块。 他们大多数在港口。 但是有些模块位于bundle中,例如www/p5-HTML-Tree提供了HTML::Element , HTML::TreeBuilder等。 理想情况下,它应该是一个命令行实用程序与synax像: install_from_ports CGI CGI::FormBuilder HTML::TreeBuilder … 你有什么build议吗?

需要使用正则expression式/ grep awk / sed / perl模式的帮助

从grep输出示例文件 file1:my $dbh = DBI->connect("dbi:mysql:$database_name", $DB_USER, $DB_PASSWD) file2:($dbc,$rc) = mysql_connect($mysql_host,$mysql_user,$mysql_password); awk模式应该从第1行获取值databasename,DB_USER和DB_PASSWD,并且从第2行获得mysql_host,mysql_user和mysql_password ,即all variables inside the function. 然后它应该在文件之前search该variables的声明:(分号) 例如:file1中的databasename可能是 $ databasename =“dbweb”; 例如:file2中的mysql_user可能是 $ mysql_user =“root”; 结果:它应该显示所有6个variables的variables声明以及文件名 file2:$mysql_host = "db1"; file2:$mysql_user = "root"; file1:$DB_USER = 'user';

Bugzilla安装/ perl-DBD-mysql

运行./checksetup.pl时,我得到这个安装停止的错误。 Reading ./localconfig… Checking for DBD-mysql (v4.00) ok: found v4.018 Checking for MySQL (v4.1.2) ok: found v5.5.11 /usr/bin/perl: symbol lookup error: lib/i386-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: is_prefix Bugzilla 4.0.1 / CentOS 5.5 perl -v This is perl, v5.8.8 built for i386-linux-thread-multi mysql Server version: 5.5.11 MySQL Community Server (GPL) by Remi 要做什么? 谢谢安迪 试图运行cpan> install DBD::mysql给出: /usr/bin/make […]

在Solaris 10上重新启动后执行Perl脚本

在Solaris 10计算机上的活动中,我需要两次重新引导Solaris单元,重新启动后,我想运行几个脚本。 在第一次重新启动之前,我在/etc/rc3.d/S99myScript存储了一些bash脚本。脚本在重新启动后运行 在第二次重新启动之前,我使用相同名称/etc/rc3.d/S99myScript Perl脚本存储在同一个地方。 重新启动后脚本不会运行。 当我在Solaris机器上手动执行Perl脚本时,脚本工作正常。 这里发生了什么?

Ubuntu 10.04上的HAProxy perl插件和Net-SNMPd

我正试图通过SNMP监视HAProxy状态。 有一个haproxy.pl文件用于NetSNMP,我已经根据/usr/share/doc/haproxy/contrib/netsnmp-perl/README.gz在snmpd.conf中设置了这个文件。 snmpd.conf附有两行代码: disablePerl false perl do '/etc/snmp/haproxy.pl'; 这应该已经做了,但查询适当的OID只是给: denis@nagios:~# snmpbulkwalk -c public -v2c 192.168.1.102 1.3.6.1.4.1.29385.106 SNMPv2-SMI::enterprises.29385.106 = No Such Object available on this agent at this OID 我在网上做了一个研究,似乎有一些关于Ubuntu的net-snmp没有用–enable-embedded-perl选项编译的问题。 我已经使用net-snmp-config –configure-options检查了这个net-snmp-config –configure-options并且没有提到embedded式perl选项,这意味着默认情况下根据INSTALL文档启用embedded式perl支持。 此外,我得到的错误embedded perl support failed to initalize (显然意味着我失去了一个先决条件的模块 ),直到我已经安装libsnmp-dev – embeddedperl支持编译的另一个线索。 networkingSNMP现在重新启动相当好,没有错误,但我没有运气在查询HAProxy OID。 我的日志只是显示类似的条目 Connection from UDP: [192.168.1.111]:34391->[192.168.1.102] 任何想法不胜感激。 而且,如果有人在Ubuntu上运行了一些perl-agent安装程序,我很乐意听到configuration细节。

当使用Apache负载平衡器和PlackUp时,self_url()显示不正确的值

Apache使用HTTP :: Server :: PSGI代理PSGI应用程序。 apache conf文件: <Proxy balancer://my_cluster> BalancerMember http://127.0.0.1:3001 BalancerMember http://127.0.0.1:3002 BalancerMember http://127.0.0.1:3003 </Proxy> ProxyPreserveHost On ProxyPass /dispatch/ balancer://my_cluster/ 该url将是: http : //foo.com/dispatch/main 在调用$ self-> query-> self_url()后,我得到: http : //foo.com/main /调度每次都被删除。 我不确定哪个图层切割出来或如何恢复。

防止用户列出Apache服务器帐户

我正在pipe理一个Apache服务器(Centos 5.6 + cPanel),我发现一个代码列出了服务器中托pipe的所有用户帐户。 我想知道是否有什么我应该改变在Apacheconfiguration,以防止用户这样做。 这是.htaccess代码: Options FollowSymLinks MultiViews Indexes ExecCGI AddType application/x-httpd-cgi .pl AddHandler cgi-script .pl AddHandler cgi-script .pl 和.pl代码: open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my […]

文件在Perl中停止当前脚本?

我怎么能做这个mv ($file $new_file/$1) or die("Errors 2") ; 所以如果文件没有find,它会停止在脚本中的脚本? 否则它不断重复和重复,我需要重新启动腻子会话,所以我可以键入的东西