Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Method autovivification with variable values?

by Brovnik (Hermit)
on Sep 28, 2001 at 21:02 UTC ( #115446=note: print w/ replies, xml ) Need Help??


in reply to Method autovivification with variable values?

Turn attach into a function that stores the data internally and can do the checking.

{ my %store = (); sub attach { my ($type, $value) = @_; if ($value) { $store{$type} = $value}; } else { my $default = "height=19 width=15 src='/images/attach/UNKNOWN.gi +f' border=0"; return $store{$type} if $store{$type}; $default =~ s/UNKNOWN/$type/; return $default; } } } # Now, call attach('file',"height=19 width=15 src='/images/attach/file.gif' border +=0"); attach('URL',"height=19 width=15 src='/images/attach/URL.gif' border=0 +"); # to initialise, and attach($mime_type); # to access
If you want to objectise it, make attach a method of the {image} object.

Or, hide the function part by using Tie::Hash and tweaking the FETCH function to provide a default.
--
Brovnik


Comment on Re: Method autovivification with variable values?
Download Code
Re: Re: Method autovivification with variable values?
by tame1 (Pilgrim) on Oct 03, 2001 at 20:00 UTC
    We ended up changing $configs{images}{attach} to be a directory.
    So it worked like this
    package MY::PATH::Config.pm ...... more code ...... $configs{images}{attach} = "/path/to/image/dir/"; and later, in another module my $img = "$configs{images}{attach}" . "$att->{mime_type}" . ".gif"; <img src=$img>
    Which works, and allows us to pass almost any image type.
    We even made a ".gif" file (a copy of our unknown.gif) to
    handle blank mime types.

    Thanks for all the help everyone.

    What does this little button do . .<Click>; "USER HAS SIGNED OFF FOR THE DAY"

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (9)
As of 2014-10-24 17:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (133 votes), past polls