Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Good day Monks,

I am trying to determine if what I am doing is appropriate or if there are easier/better ways. I have a huge variable list that is broken down into scalars, arrays and hashs. I am extracting those values from xml documents that are non-standard and differ one to another so the variables from one document to another may or may not have data present. When passing variables that may be undef or "" (empty) values, I am trying to make sure the field in which the variable will populate into a database contains "null". Not for a particular requirement but because I fear that somewhere through the code an array value is missing and therefore shifts the value of another field into a placeholder of a different field. I understand that if I were a Monk I would have probably been able to figure out a more elegant way to maintain such field integrity but unfortunately I am not capable at this point. Thus I am going to use the following function to populate a "null" value into undef or empty variables and wanted to know if an obvious problem may exist with solution or is there an easier way to accomplish the same task? My assumption is that undef variables would be translated into "" (empty string) upon its use within Perl and not require the use of the defined function. Thanks in advance for any responses.

Danny

use strict; my $out; my $COUNT = 0; my $PORT = undef; my $PATH = "/usr/local"; my $CODE = ""; my $COUNT = ifnil($COUNT); my $PORT = ifnil($PORT); my $PATH = ifnil($PATH); my $CODE = ifnil($CODE); print "COUNT: $COUNT\nPORT: $PORT\nPATH: $PATH\nCODE: $CODE\n"; sub ifnil { my ($value) = @_; my $null = "null"; if ( $value eq "" ) { $out = $null; } else { $out = $value; } return $out; }

In reply to undef and empty variables by onegative

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • 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.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2024-04-18 14:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found