Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: Re: Re: method of ID'ing

by Juerd (Abbot)
on Apr 14, 2002 at 13:48 UTC ( [id://158931]=note: print w/replies, xml ) Need Help??


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 ;Þ

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://158931]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-04-25 14:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found