【发布时间】:2014-11-02 04:16:30
【问题描述】:
我目前正在尝试编写一个脚本来确定服务器上的网站出了什么问题。我被困在我试图创建的变量上
my documentroot =
文档根出现在apache配置文件/etc/httpd/conf/httpd.conf中,如下所示:
<VirtualHost 184.171.253.172:80>
ServerName lernperl.com
ServerAlias www.lernperl.com
DocumentRoot /home/lernperl/public_html
所以,基本上我决定使用我的域变量 $host 作为域并搜索www.$domain.com,但是下一行对我来说很重要。理想情况下,我希望将/home/lernperl/public_html 放入一个标量中。这似乎很容易,但我一直在寻找答案。我很感激任何帮助!我没走多远。
open (configuration_file, "/etc/httpd/conf/httpd.conf");
my @list1 = <configuration_file>;close configuration_file;
【问题讨论】:
-
所以您已经将整个配置文件加载到
@list1... 现在您必须查找DocumentRoot行。你都尝试了些什么?什么不起作用? -
经过长时间的谷歌搜索后,我能够进行打印工作。
use strict; use warnings; @ARGV = </etc/httpd/conf/httpd.conf>; while ( <> ) { print scalar <> if /www.lernperl1.com/; }但是这对我不起作用,因为我需要在变量中使用它。总的来说,我对 Perl 很陌生,将这段代码转换为变量是一项艰巨的任务。 -
你想在变量中存储一些东西吗?如果是这样,您可以像这样设置一个标量变量:
my $variable = "/home/lernperl/public_html";(或任何您想要的)。 -
如果你是一个 perl 菜鸟,最好的办法是阅读一些教程,这样你就可以掌握基础知识。网上有很多教程——看看perl.org/learn.html,有一些你可以学习。