【问题标题】:Perl error substringPerl 错误子字符串
【发布时间】:2012-08-27 23:44:34
【问题描述】:

在工作中,我们收到了一个大型文本文件,该文件的宽度由第三方分隔。我想使用 perl 脚本来仅获取我们关心的文件的片段,因为这些片段最终将被放入数据库中。我对 perl 很陌生,今天才开始。

我们收到的文件包含客户信息,我需要选择其中的某些部分并最终将它们加载到数据库中,即姓名、日期、信息。我正在尝试使用此脚本,但出现错误“在使用“严格引用”时无法使用字符串(第二个)作为符号引用”

如果我取消严格限制,我猜这不是一个好习惯,那么我会收到错误“print on unopened filehandle (Second)”

test.txt 的内容是“First Second Third Fourth”,所以我看到 substr 得到了我想要的。我做错了什么,我是否朝着正确的方向前进?

use strict;
use warnings;


open FILE, "<", "test.txt" or die $!;

#get the contents of the file
#my @a_Lines = <FILE>;
my $entireFile = <FILE>;

#close it I don't need it any more
close FILE or die "Cannot close the file because - $!";


#print @a_Lines ;
print $entireFile;
print "\n";

my $firstName = substr $entireFile, 6, 6;
print $firstName

print "\n";

【问题讨论】:

    标签: perl file substr


    【解决方案1】:

    你少了一个分号;改变这个:

    print $firstName
    

    到这里:

    print $firstName;
    

    (错误消息如此奇怪的原因是,由于缺少分号,Perl 误解了您希望如何解释 $firstName。它认为您希望将 $firstName 的内容视为文件句柄的名称。)

    【讨论】:

      猜你喜欢
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 2016-02-22
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多