скалярное значение, которое будет напечатано в файле с использованием perl (последнее измененное значение)? - PullRequest
1 голос
/ 09 августа 2011
open (OUT,">new.txt");

my $var = "test-1";
print OUT "$var";

$var = "test-2";
print OUT "$var";

$var = "test-3";
print OUT "$var";

close(OUT);

Вывод дает:

    test-1
    test-2
    test-3

Я пытаюсь получить вывод как:

    test-3
    test-3
    test-3

- сделать скалярное значение напечатанным на файле после окончательного назначения / модификации в Perl-скрипте для этого дескриптора файла (OUT).

Пожалуйста, ведите меня, если у вас есть какой-либо способ выступить так ...

Заранее спасибо всем

1 Ответ

1 голос
/ 09 августа 2011

Вот способ сделать это.

use strict;
use warnings;
use autodie;

my @print;

my $var = "test-1";
push @print, \$var;

$var = "test-2";
push @print, \$var;

$var = "test-3";
push @print, \$var;

open my $out, '>', "new.txt";
print $out map { $$_ } @print;

Используя ссылку на переменную вместо значения переменной и сохраняя напечатанные строки до конца, вы будете печатать с последним значением, сохраненным в переменной.

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