Hi folks,
I have an apparant simple problem. I want to pass a parameter to a function, which toggles a behavior, e.g. to write to a database or not to write. Here an extraction:
#=====================================================================
sub handleVoicemailNote {
#=====================================================================
my $ref_mail = shift;
my $db_write = shift || 1;
I call the function this way:
handleVoicemailNote($mail, 0);
or this way:
handleVoicemailNote($mail);
That means, if $db_write is set to 1, it writes to the database. The parameter $db_write has not to be set, but the default has to be 1 (if it is not passed).
But it does not work. It evaluates the parameter always as 1. It apparantly does not take the parameter as it is but evaluates the passed parameter. If it is 0, it behaves the same way as there is no given parameter. How can I get this thing working? I now got the solution that I pass text strings like "true" and "false" but this is unesthetic and not satisfying.
Thanks for any answers! 2006-09-15 Retitled by Arunbear, as per Monastery guidelines Original title: 'Pass a parameter'
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|