【问题标题】:How to read data from a file [closed]如何从文件中读取数据 [关闭]
【发布时间】:2014-01-18 08:39:59
【问题描述】:

这是我的数据:

4601 000000000002950 000000600537060DB000000000000000 000000600537060DB 46004375010000009000282959900028252890002825280253563562 V4120 20132352013235 1003NN 10 0`.

还有我的 Perl 程序

my$string = "4601 000000000002950 000000600537060DB000000000000000 000000600537060DB 46004375010000009000282959900028252890002825280253563562 V4120 20132352013235 1003NN 10 0";
   my $char = substr($string, 0, 2);
   print $char;

它打印46

如果我在文件 /home/jack/Desktop/Perl_file.txt 中有该数据,我如何使用该文件数据获得相同的结果。

【问题讨论】:

  • 你想得到什么? substr($string, 0, 2) 从输入中获取前 2 个字符,因此显然是 46。您还期望发生什么?
  • 除了打印前两个字符的子字符串之外,您为什么希望它做任何事情?
  • 如何使用文件处理获得此输出。这只是我的问题
  • 啊,你想在从文件中读取数据时得到相同的输出吗?那么请编辑您的问题以明确这一点。

标签: perl file-handling


【解决方案1】:

我认为您只是在问如何从Perl 中的文件中读取?

# open file for reading
open my $fh, '<', "/home/jack/Desktop/Perl_file.txt" or die $!;
# iterate line by line 
while (my $line = <$fh>) {
    # now you can operate on $line. E.g., print, substr, whatever...
    print $line;
    # or like you have in your example
    my $char = substr($line, 0, 2);
    print $char, "\n";
}
close $fh;

【讨论】:

  • 投反对票?这正是您应该从Perl中的文件中读取的方式@
  • +1,但您应该始终使用严格;使用警告;.
猜你喜欢
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
  • 2021-01-30
  • 1970-01-01
  • 2021-02-21
  • 2013-03-27
  • 2015-03-23
  • 1970-01-01
相关资源
最近更新 更多