如何从perl脚本调用shell

时间:2014-10-20 11:54:54

标签: perl

Perl脚本从配置文件中读取url。在配置文件数据中存储为URL = http://example.com。 我怎样才能获得网站名称。我试过了

open(my $fh, "cut -d= -f2 'webreader.conf'");

但它不起作用。

请帮忙!

2 个答案:

答案 0 :(得分:5)

您必须使用读取管道-|来指示后面的内容是分叉的命令,

open(my $fh, "-|", "cut -d= -f2 'webreader.conf'") or die $!;

print <$fh>; # print output from command

更好的方法是直接通过perl读取文件,

open( my $fh, "<", "webreader.conf" ) or die $!;
while (<$fh>) {
    chomp;
    my @F = split /=/;
    print @F > 1 ? "$F[1]\n" : "$_\n";
}

答案 1 :(得分:0)

也许是这样的?

$ cat urls.txt 
URL=http://example.com
URL=http://example2.com
URL=http://exampleXXX.com

$ ./urls.pl 
http://example.com
http://example2.com
http://exampleXXX.com

$ cat urls.pl 
#!/usr/bin/perl

$file='urls.txt';
open(X, $file) or die("Could not open  file.");

while (<X>) { 
    chomp;
    s/URL=//g;
    print "$_\n"; 
}
close (X);