如何使用Perl打印到文本文件?

时间:2011-01-26 14:06:04

标签: linux perl

我尝试使用Perl代码

创建一个以0500000000到0600000000开头的单词列表
#!/bin/perl -w
$k = 10;
$width = 10;
for $i ( 500000000 .. 600000000 ) {
    printf "%${width}.${k}ld\n", $i;
}

我需要将结果打印到文本文件中。 有人可以帮忙吗?

4 个答案:

答案 0 :(得分:5)

$ perl -e 'print "$_\n" for "0500000000" .. "0600000000"' > output.txt

答案 1 :(得分:4)

使用文件句柄。例如:

#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use autodie qw(:all);

open my $FILE, '>', 'filename.txt';

my $k = 10;
my $width = 10;
for $i ( 500000000 .. 600000000 ) {
    printf {$FILE} "%${width}.${k}ld\n", $i;
}

close $FILE;

使用文件模式>截断任何现有文件,或>>附加到该文件。

答案 2 :(得分:2)

为什么不使用STDOUT重定向?

# perl yourscript.pl > yourfile.txt

答案 3 :(得分:1)

要打印到文本文件,请阅读PerlIO。这将告诉您如何打开文件的句柄,打印到该文件,并在完成后关闭句柄。