当我试图读取带有嵌套逻辑的 makefile 时,这是我身边的一个不断刺痛的问题,Make不允许缩进if语句。为什么会这样,是否有解决此限制的好方法,并且仍然具有可读的 makefile?
更新:我现在意识到这个问题是基于一个错误的前提,但我相信把它留在这里对任何犯了和我一样的错误的人来说都是有价值的。
sayuse File::Spec;和 和有use File::Spec qw(rel2abs);什么不一样?
信不信由你,我确实先尝试过谷歌搜索,但我猜单词use和list太模糊了,谷歌找不到任何有用的东西。
需要明确的是,我的问题不是关于qw(). 我只是询问它包含的列表。
以下代码:
use strict;
use warnings;
my @array = (0,1,2,3,4,5,6,7,8,9);
print "array ref is ".\@array."\n";
my @copy_refs;
for my $element(@array) {
my @copy = @array;
print "copy ref is ".\@copy."\n";
push @copy_refs, \@copy;
}
Run Code Online (Sandbox Code Playgroud)
产生以下输出,正如人们所期望的:
array ref is ARRAY(0x21ae640)
copy ref is ARRAY(0x21e2a00)
copy ref is ARRAY(0x21d7368)
copy ref is ARRAY(0x21d71e8)
copy ref is ARRAY(0x21d70c8)
copy ref is ARRAY(0x21d6fa8)
copy ref is ARRAY(0x21d6e88)
copy ref is ARRAY(0x21d6d68)
copy ref is ARRAY(0x21d6c48)
copy ref is ARRAY(0x21cf8a0)
copy ref is ARRAY(0x21cf780)
Run Code Online (Sandbox Code Playgroud)
但是,相同的代码,push …