2013-04-16 39 views
0

您好,我正在尝试在我的脚本中解析一些文件,并将其输出重定向到其他文件..请帮助我,我在哪里做错了..因为我正在创建安卓文件为每个输出..但它创造了一种通用文件.txt文件..和我的代码不工作..解析日志文件,然后将输出重定向到其他文件

像craeting输出文件下面是

open($m1logFIle, "> $m1log.txt") || die "\n Could not create write file.\n\n"; 
open($g1logFIle, "> $g1log.txt") || die "\n Could not create write file.\n\n"; 
open($V1logFIle, "> $VOD1og.txt") || die "\n Could not create write file.\n\n"; 

我打印出来的代码 - 以下代码的文件:

print $V1logFIle "-V1 Success @ $curr_exectime(ms)\n\n"; 

请帮我..等待你的答复..

+0

您应该在错误消息中包含['$!'](http://perldoc.perl.org/perlvar.html#%24!“perldoc perlvar”)的值,就像它在文档中显示的一样['open'](http://perldoc.perl.org/functions/open.html“perldoc -f open”)。或者你可以[只使用autodie;'](http://perldoc.perl.org/autodie.html“perldoc autodie”),并去掉“||”。死......;'。你也应该总是添加['use strict;'](http://perldoc.perl.org/strict.html“perldoc strict”)和['use warnings;'](http://perldoc.perl.org/ warnings.html“perldoc警告”),直到您确切知道为什么推荐它。 –

回答

0

如果有现有的再一个变量$m1log应该

open($m1logFIle, ">", $m1log.".txt") || die "\n Could not create write file.\n\n"; 
+0

虽然我同意这是写这些行的更好方法,但它实际上并没有帮助解决OP所抱怨的问题。 –

+0

最初我正在定义变量.. my $ m1logFILE; 但最后还是得到一些未定义的文件名作为输出.. 像 - GLOB(0x155476c).txt,GLOB(0x155474c).txt ...,我在哪里做错了? – user2282534

1

,我要在这里做一些假设。

  1. 您没有使用use strictuse warnings,这就是为什么你不能弄清楚为什么发生这种情况。
  2. 当您说but its creating a common file .txt file时,您的意思是它正在创建一个名为.txt的文件。
  3. 您的变量$m1log,$g1log$VOD1og在某种程度上未定义。

因此,要解决这个问题,添加

use strict; 
use warnings; 

你的脚本,并解决出现的错误和警告。如果您的问题仍然存在,请确保您的变量实际上包含你认为他们这样做,例如,通过与Data::Dumper模块打印它们:

use Data::Dumper; 
... 
print Dumper $VOD1og; 

你会发现,Data::Dumper是一个很好的调试工具。

TL; DR:

my $VOD1og;   # undefined variable 
print "> $VOD1og"; # prints "> " because $VOD1og is empty 

没有use warnings,没有发出警告。

+0

非常感谢.. :) – user2282534