使用 perl __DATA__ 将其值分配给变量

Using perl __DATA__ assign its value to variable

我正在尝试在脚本中使用文件句柄 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

如果你在__DATA__中有多于一行,你可能想使用"slurp"(将<DATA>的全部内容读入一个变量):

my $str = do { local $/ = undef; <DATA> };
print "$str\n";
__DATA__
ab cd
ef gh
i
j