2015-10-13 49 views
-1

我從下面的腳本和上面顯示的錯誤調用路徑時出現錯誤。我從下面的腳本和上面顯示的錯誤調用路徑時出現錯誤

./heartbeat.pl:我:不./heartbeat.pl發現:$ /:不是標識符

my $ini_file = 'Search.ini'; 
local $/ = undef; 
open(FH, $ini_file); 
my $data = <FH>; 
close(FH); 
(my $search_item) = $data =~ /<String_search>(.*?)<\/String_search>/; 
(my $search_file) = $data =~ /<File_search>(.*?)<\/File_search>/; 
my $dir = $ARGV[0]; 

#my $dir = '/apps/scope/mst/scripts/heartbeat'; 
opendir(DIR, $dir); 
my @files = grep {/($search_file)/} readdir(DIR); 
closedir(DIR); 
foreach (@files) { 
    open(IN, "$dir\\$_") || die "$_ $!"; 
    my $file_data = <IN>; 

    #print $file_data; 
    print "FOUND:- $dir\\$_" if ($file_data =~ /($search_item)/g); 
    close(IN); 
} 
+0

:看起來你正在讀取XML。你是? – Sobrique

+0

是,搜索字符串和我使用一個ini文件的文件。 – Arun

+0

然後你真的不應該使用正則表達式。將XML視爲XML,而不是純文本。 – Sobrique

回答

1

perl ./heartbeat.pl打電話給你的腳本或在腳本

的第一行添加 #!<path_to_perl>/perl

如果你不這樣做,系統調用你作爲shell命令編程

+0

雖然你在這 - 它不要忘記添加'use strict;'和'use warnings;'。 – Sobrique

+0

我嘗試過這些,但仍然無法正常工作。 – Arun

+0

你還會得到同樣的錯誤嗎? – Sobrique

相關問題