(See also Node ID 859845.) I have a script that initializes a struct using new, and supplies a pattern match to initialize a scalar component of the struct as:
holding => $vol =~ m/^HOLDING/,
The struct member 'holding' appears to be assigned undef instead of 0 when the match fails. Whatever Class::Struct::new() does doesn't seem to correctly create a scalar context for scalar member accessor methods. Is this a bug? Depending on the expression supplied to initialize a scalar member, it seems like unexpected results could be produced.