我在绕过 Perl 的引用和取消引用时遇到了一些麻烦,我来自 C++ 背景,所以我理解取消引用和引用。只是 Perl 的语法让我头晕目眩。
我有这个代码,我试图打印的内容 $obj->{numbers}
my @arr = (1,2,3,4,5,6);
my $test = "" . join(',', @arr). "" || '';
my @my_arr = ();
@my_arr = split (',', $test);
my $obj->{numbers} = \@my_arr;
print $obj->{numbers};
Run Code Online (Sandbox Code Playgroud)
这将打印
ARRAY(0x1ac9af8).
我期待它打印出像
1 2 3 4 5 6.
我也想把这个数组存储在这样的散列中
my $this;
$this->{foo} = [ { bar => $obj->{numbers} } ];
print $this->{foo}[0];
Run Code Online (Sandbox Code Playgroud)
这打印HASH(0x418b018). 我也希望这个打印1 2 3 4 5 6。
我怎样才能在散列中打印这个数组?
最近我一直在学习 Perl,遇到了一个有趣的问题。我将如何在地图中使用两个数组?
use warnings;
use strict;
use Data::Dumper;
my $names->{name} = ['Bill', 'Smith'];
my $cars->{model} = ['Honda', 'Toyota'];
my $obj = {
'Students' => [
map {
'Name' => $_,
'Model' => $_
}, @{$names->{name}}, @{$cars->{model}}
]
};
print Dumper $obj;
Run Code Online (Sandbox Code Playgroud)
这将打印,它产生的对象比我想要的多两个。
$VAR1 = {
'Students' => [
{
'Model' => 'Bill',
'Name' => 'Bill'
},
{
'Model' => 'Smith',
'Name' => 'Smith'
},
{
'Model' => 'Honda',
'Name' => 'Honda'
},
{
'Model' => 'Toyota',
'Name' => 'Toyota'
} …Run Code Online (Sandbox Code Playgroud) “..\目录\[文件名].xml”
我将如何编写与包含引号的上述字符串匹配的正则表达式?我如何匹配 .xml?
到目前为止,我有以下内容。不知道在这之后如何继续,我对 Perl 很陌生。
$content =~ m/"..\\directory\\/
Run Code Online (Sandbox Code Playgroud)
谢谢!