Использование 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