Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
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
Replies are listed 'Best First'.
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 avoiding work at the Monastery: (4)
As of 2015-07-29 04:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (260 votes), past polls