in reply to Re: Re: Re: method of ID'ing
in thread method of ID'ing

how about adding require Tie::Scalar

There's not much point in having a base class if you override all methods :) Well, I don't use new() and DESTROY(), but those are rather optional...

and throwing this in the code catacombs? this is a nice, simple answer to retrieving the current time.

It doesn't belong there. This use should not be encouraged, just use time instead. This was a one-minute hack, typed in my browser. If you think it belongs there, go ahead, there is no copyright at all :)

While you're at it, create these as well:

package Tie::Print; require Tie::Scalar; our @ISA = ('Tie::StdScalar'); sub STORE { print pop } package Tie::Localtime::Scalar; require Tie::Scalar; our @ISA = ('Tie::StdScalar'); sub FETCH { return scalar localtime } etcetera
Have a look at perlfunc for more ideas. Or just use a one-fits all tie:
package Tie::Scalar::Miscellaneous; use Carp; use strict; sub TIESCALAR { my ($class, %functions) = @_; $_ ||= q(croak 'Not implemented') for @functions{qw/store fetch/}; $_ = eval "sub { $_ ( \@_ ) }" for @functions{qw/store fetch/}; bless \%functions, $class; } sub STORE { shift->{store}->(pop) } sub FETCH { shift->{fetch}->(); }
Which can be used like:
tie my $printer, 'Tie::Scalar::Miscellaneous', store => 'print'; $printer = "Hello, world!\n";
No, I'm not being serious.

- Yes, I reinvent wheels.
- Spam: Visit eurotraQ.

Replies are listed 'Best First'.
Re^5: method of ID'ing
by particle (Vicar) on Apr 14, 2002 at 15:25 UTC
    package Tie::Scalar::Miscellaneous;

    ha! i love it. who needs functions when everything can be a variable assignment?

    by the way, i agree that time should be used instead. i thought perhaps this would be a good fit for something like gav^ or tachyon's solutions (posted above), although it's probably easier to maintain as a function rather than a tied scalar.

    ~Particle ;Þ