in reply to Re^2: converting libraries into modules
in thread converting libraries into modules
Instead of
We can make the adaptation of all perl4-ish functions possible just by adding a single line, on the top of each function's code:sub half { my $number; if (ref($_[0]) eq 'MyPackage') { my $self = shift(); $number = shift(); } else { $number = shift(); } return $number / 2; }
Detail: I call all my methods libraries MyPackage, Mypackage2 etc, so by testing with this regexp, I don't even have to worry to adapt this one-line according to the library I´m converting into module! Just adding it all over the subs, and finally enter the OO world!sub half { if (ref($_[0]) =~ /MyPackage/ ) { my $self = shift; } # as the former Perl4-like functions don´t need the $self object, this + line's role is to clean up the first element of the @_ array! And, s +o, make things ready for the shifts your code already is set to! my $number = shift; return $number / 2; }
|
|---|