Как использовать Perl для печати в текстовый файл? - PullRequest
1 голос
/ 26 января 2011

Я пытался создать список слов, начинающийся с 0500000000 по 0600000000, с кодом Perl

#!/bin/perl -w
$k = 10;
$width = 10;
for $i ( 500000000 .. 600000000 ) {
    printf "%${width}.${k}ld\n", $i;
}

Мне нужно напечатать результат в текстовый файл. Кто-нибудь может помочь?

Ответы [ 4 ]

5 голосов
/ 26 января 2011
$ perl -e 'print "$_\n" for "0500000000" .. "0600000000"' > output.txt
4 голосов
/ 26 января 2011

Использование файловых дескрипторов.Например:

#!/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 голосов
/ 26 января 2011

Почему бы не использовать перенаправление STDOUT?

# perl yourscript.pl > yourfile.txt
1 голос
/ 26 января 2011

Чтобы напечатать в текстовый файл, прочтите PerlIO .Это скажет вам, как открыть дескриптор файла, распечатать его и закрыть дескриптор, когда вы закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...