我正在寻找好的形式
if (! write_to_file($data) )
{
open_this_file($file_name)
write_to_file($data) or die "Cant write to $file_name" ;
}
Run Code Online (Sandbox Code Playgroud)
它看起来很不清楚,不是吗?怎么写它自我解释?
or修复并做or死!"假设write_to_file( $data )失败时返回false:
write_to_file( $data )
or do { open_this_file( $file_name ); write_to_file( $data ) }
or die "Can't write to $file_name";
Run Code Online (Sandbox Code Playgroud)
do由于运算符优先级,您可以在没有块的情况下重写它.之间的逗号open_this_file和write_to_file优先级高于or,因此效果与do块相同:
write_to_file( $data )
or open_this_file( $file_name ), write_to_file( $data )
or die "Can't write to $file_name";
Run Code Online (Sandbox Code Playgroud)