in reply to multi-arg bless
I have always considered this a non-problem, because i never use that ref($_[0]) mumbo jumbo. Consider the following code:
The only reason why you need that ref($_[0]) mumbo jumbo is so the the commented out code will work. I never construct a new object from another ... i use Clone instead.my $foo = Foo->new1; print $foo->{bar}; # here is the problem, Jim #my $bar = $foo->new1; #print $bar->{bar}; my $baz = $foo->new2; print $baz->{bar}; package Foo; sub new1 { bless { bar => 'baz' }, $_[0] } sub new2 { bless { bar => 'baz' }, ref($_[0]) || $_[0] }
As for the open stuff, i totally agree ... but if you do really need to abstract open, use IO::File
Again, i do not consider this much of problem because there are clean workarounds.my $fh = foo('foo.pl','r'); print while <$fh>; sub foo { IO::File->new(@_) }
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
|---|