Использование perl __DATA__, передавая его значение в varialbe

Я пытаюсь использовать файловый дескриптор DATA в сценарии, назначить значения переменной, и когда он печатает, он просто печатает и пустую строку.

#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper qw(Dumper);  
my $str = <DATA> ;
print "$str\n" ;

__DATA__
ab cd ef gh ij

1 ответ

Решение

Если у вас есть более одной строки в __DATA__, вы можете использовать "slurp" (прочитать все содержимое <DATA> в переменную):

my $str = do { local $/ = undef; <DATA> };
print "$str\n";
__DATA__
ab cd
ef gh
i
j
Другие вопросы по тегам