在 perl 中将文件内容打印到屏幕

问题描述 投票:0回答:2

我有一个 perl 脚本,它将几行写入文件中。 (我检查了一下,发现文件写入正确) 之后我想将内容打印到屏幕上,我尝试的方式是读取文件并打印它

open (FILE, '>', "tmpLogFile.txt") or die "could not open the log file\n";
$aaa = <FILE>; 
close (FILE);  
print $aaa;

但我的屏幕上什么也没显示,我做错了什么?

perl file
2个回答
8
投票

阅读,您需要将打开模式指定为

<
。 此外,
$aaa = <FILE>
具有标量上下文,并且仅读取一行。 使用
print <FILE>
您可以拥有列表上下文并读取所有行:

open (FILE, '<', "tmpLogFile.txt") or die "could not open the log file\n";
print <FILE>;
close (FILE);

0
投票

试试这个:

use strict;
use warnings;

my $filename = 'data.txt';
open(my $fh, '<:encoding(UTF-8)', $filename)
  or die "Could not open file '$filename' $!";

while (my $row = <$fh>) {
    chomp $row;
    print "$row\n";
  }
print "done\n"
© www.soinside.com 2019 - 2024. All rights reserved.