【问题标题】:How to create a new file in Perl?如何在 Perl 中创建一个新文件?
【发布时间】:2012-06-17 09:11:33
【问题描述】:

我在变量$a,$b,$c 中存储了一些值。 现在我必须将这些值加载到新文件中(创建文件并加载)。 我是 Perl 新手,我该怎么做?

【问题讨论】:

  • 您是否尝试自己找到解决方案? Google 搜索“how to write to a file in perl”给出 35.4 mio 结果
  • 打开 FILE, ">", "filename.txt" 否则 $!
  • 如果你知道,谁能告诉我?
  • 关于问题的标题,请写"perl" or "Perl" but never "PERL"
  • $a$b 在 Perl 中不是好的变量名,因为它们可能与 sort()s 内建的 $a$b 变量发生冲突或混淆

标签: perl serialization perl-io


【解决方案1】:
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use autodie qw(:all);

my $a = 5;
my $b = 3;
my $c = 10;

#### WRITE ####
{
    open my $fh, '>', 'output.txt';
    print {$fh} $a . "\n";
    print {$fh} $b . "\n";
    print {$fh} $c . "\n";
    close $fh;
}

#### READ ####
{
    open my $fh, '<', 'output.txt';
    my ($a, $b, $c) = <$fh>;
    print $a;
    print $b;
    print $c;
    close $fh;
}

您应该阅读perlopentutBeginner Perl Maven tutorial: Writing to files

【讨论】:

  • @ Jagtesh chadha & Daxim:谢谢。
  • @JackieJames:如果您能选择正确的答案并关闭此问题,我将不胜感激。
【解决方案2】:

查看YAML 模块的LoadFileDumpFile 方法。它们非常易于使用,因为您只需要针对它们抛出文件名和实际数据。

如果不理解这些问题,请提出具体问题。

【讨论】:

    【解决方案3】:

    另一种选择:File::Slurp 提供方便的 read_filewrite_file 函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多