печать вывода разыменованной переменной в файл - PullRequest
0 голосов
/ 23 декабря 2010

У меня был написан модуль, просто чтобы разделить файл на обучающие и тестовые наборы. Вывод в порядке, но студентам было бы очень легко, если бы вывод двух указанных переменных, @$test и @$training, был перенаправлен в два разных файла. Вот код:

use Cut;

my($training,$test)=Cut::cut_80_20('data.csv') ;
print"======TRAINING======\n"."@$training\n";
print"======TEST==========\n"." @$test\n";

Ответы [ 2 ]

3 голосов
/ 23 декабря 2010

print принимает необязательный дескриптор файла перед выводом данных.Откройте ваши файлы и распечатайте:

open( my $training_fh, '>', 'training.csv' ) or die "Couldn't open training.csv: $!";
print $training_fh "======TRAINING======\n"."@$training\n"; 
open( my $test_fh, '>', 'test.csv' ) or die "Couldn't open test.csv: $!";
print $test_fh "======TEST==========\n"." @$test\n";
2 голосов
/ 23 декабря 2010

Это очень просто:

open my $fh1, '>', "training.out" or die "failed to open training.out ($!)";
print $fh1 "======TRAINING======\n";
print $fh1 "@$training\n";
close $fh1;
open my $fh2, '>', "test.out" or die "failed to open test.out ($!)";
print $fh2 "======TEST==========\n";
print $fh2 "@$test\n";
close $fh2;

Обратите внимание на отсутствие запятой после дескриптора файла в операторах печати.Вы можете добавлять новые строки и тому подобное по мере необходимости.

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