小编Nic*_*ner的帖子

如果未加载@ISA中的包,则会多次发出相同的警告

在重构我的一些perl代码时,我注意到以下的strang行为.
考虑这个小样本脚本:

#!/usr/bin/perl -w

package test;
use strict;
my $obj = bless( {}, __PACKAGE__);
our @ISA = qw( missing );

exit(0)
Run Code Online (Sandbox Code Playgroud)

预期的警告

Can't locate package missing for @test::ISA at test.pl line 8
Run Code Online (Sandbox Code Playgroud)

出现三次而不是一次.此警告的另外两个触发器是什么?这三个都是指exit(0).
gentoo linux上的perl-version 5.12.4.

谢谢.

perl perl-module

8
推荐指数
1
解决办法
146
查看次数

在failglob触发后,行中的下一个命令不会被执行

shopt -s failglob;
ls -l /non-existent/*; echo A;
echo B
Run Code Online (Sandbox Code Playgroud)

只打印“B”(以及“不匹配”错误)。

http://www.gnu.org/software/bash/manual/bashref.html#Filename-Expansion

表示导致扩展失败的命令没有被执行;但并不是说该行的其余部分被忽略。如何限制扩展失败仅影响实际命令?
这是在 Gentoo-Linux 上的 GNU bash 版本 4.2.45(1)-release (i586-pc-linux-gnu) 下。

bash glob gnu expansion

5
推荐指数
1
解决办法
247
查看次数

标签 统计

bash ×1

expansion ×1

glob ×1

gnu ×1

perl ×1

perl-module ×1