print
有返回码。大多数人都懒得去检查。但它确实有一个。
http://perldoc.perl.org/functions/print.html http://perldoc.perl.org/functions/print.html
打印
打印字符串或字符串列表。如果成功则返回 true。
所以是的,你可以“打印或死亡”。但您确实需要确保正确地将其括起来,以便“或”与正确的表达式相关联。
print 0 || warn "1 failed";
print 0 or warn "2 failed";
这将给出两个不同的结果,因为前者“测试”零。后者测试的地方print
。如果您将打印内容括起来,那么这并不重要,为了清晰起见,这可能是可取的。
所以如果测试 - 你可以这样做:
open ( my $fh, "<", "bad_open" ); #opens read only, so prints will fail.
print {$fh} 0,1,2 || warn "1 failed";
print {$fh} 1,2,3 or warn "2 failed";
(我本来想建议autodie http://search.cpan.org/~nthykier/autodie-2.26/lib/autodie.pm#print但遗憾的是它没有被应用到print
. )
或者,查看 GPFS 的联机帮助页:
http://www-01.ibm.com/support/knowledgecenter/SSFKCN_3.5.0/com.ibm.cluster.gpfs.v3r5.gpfs100.doc/bl1adm_gsmo.htm http://www-01.ibm.com/support/knowledgecenter/SSFKCN_3.5.0/com.ibm.cluster.gpfs.v3r5.gpfs100.doc/bl1adm_gsmo.htm
我可以建议检查您的安装选项吗?您的客户端上是否安装了 GPFS NFS?
看了一下,GPFS不支持soft
像 NFS 一样安装。根据设计,一个soft
mount 将因暂时性错误而导致写入失败,其中hard
当挂载离线时,挂载将会阻塞。
hard
是默认值,因为这样可以避免数据损坏 - 任何写入操作都会阻塞,直到安装恢复。看起来好像是hanging
这可能是不受欢迎的,但请记住,它极大地提高了数据完整性。
我不知道是否有一个简单的测试可以从脚本中测试“停滞”的硬安装。如果您通过 NFS 网络挂载 GPFS,您可能会发现只需将其挂载为soft
相反(也许使用单独的安装点并安装两次,如果这会影响其他人)。