chefchanyu has asked for the wisdom of the Perl Monks concerning the following question:
so how can I print out the "NULL" with "NULL" and '' with "undef"? I try this code work for "NULL" but not for "undef":use strict; use DBI; use Data::Dumper; my $dbh = DBI->connect("dBi:mysql:cacti:localhost", "cacti", "cacti") or die("Cannot connect: $DBI::errstr\n"); my $sth = $dbh->prepare("select * from data_template_data"); $sth->execute; my $names = $sth->{NAME}; for (@$names) { printf("%-10s",$_); } print "\n"; while (my $row_ref = $sth->fetch()) { for (@$row_ref) { if (defined($_)) { printf("%-10s",$_); } # elsif ($_ eq '') # { # print 'NULL'; # } elsif (undef($_)) { print "\' \'"; } } print "\n"; }
the result:if(defined($_)) { print $_; } elsif(undef($_)) { print "undef"; } else { print "NULL"; }
my database:[cacti@cacti other]$ perl cacti.pl id local_data_template_data_idlocal_data_iddata_template_iddata +_input_idt_name name name_cachedata_source_patht_active acti +ve t_rrd_steprrd_step t_rra_id 3 0 0 3 2 on |host_desc +ription| - Hard Drive Space NULL on + 300 4 0 0 4 1 |host_desc +ription| - CPU Usage - System NULL on + 300 5 0 0 5 1 |host_desc +ription| - CPU Usage - User NULL on + 300 6 0 0 6 1 |host_desc +ription| - CPU Usage - Nice NULL on + 300 7 0 0 7 2 on |host_desc +ription| - Noise Level NULL on 300 + 8 0 0 8 2 on |host_desc +ription| - Signal Level NULL on 30 +0 9 0 0 9 2 on |host_desc +ription| - Wireless Transmits NULL on + 300 10 0 0 10 2 on |host_desc +ription| - Wireless Re-Transmits NULL on + 300 11 0 0 11 4 |host_desc +ription| - Load Average NULL on 30 +0 13 0 0 13 6 |host_desc +ription| - Memory - Free NULL on 3 +00 15 0 0 15 6 |host_desc +ription| - Memory - Free Swap NULL on + 300 16 0 0 16 7 |host_desc +ription| - Processes NULL on 300 + 17 0 0 17 5 |host_desc +ription| - Logged in Users NULL on + 300 18 0 0 18 10 |host_desc +ription| - Ping Host NULL on 300 + 19 0 0 19 1 |host_desc +ription| - Total Users NULL on 300 + 20 0 0 20 1 |host_desc +ription| - Total Logins NULL on 30 +0 22 0 0 22 1 |host_desc +ription| - File System Reads NULL on + 300 23 0 0 23 1 |host_desc +ription| - File System Writes NULL on + 300 24 0 0 24 1 |host_desc +ription| - Cache Checks NULL on 30 +0 25 0 0 25 1 |host_desc +ription| - Cache Hits NULL on 300 + 26 0 0 26 1 |host_desc +ription| - Open Files NULL on 300 + 27 0 0 27 1 |host_desc +ription| - 5 Minute CPU NULL on 30 +0 30 0 0 30 1 |host_desc +ription| - Load Average - 1 Minute NULL on + 300 31 0 0 31 1 |host_desc +ription| - Load Average - 5 Minute NULL on + 300 32 0 0 32 1 |host_desc +ription| - Load Average - 15 Minute NULL on + 300 33 0 0 33 1 |host_desc +ription| - Memory - Buffers NULL on + 300 34 0 0 34 1 |host_desc +ription| - Memory - Free NULL on 3 +00 35 0 0 35 2 on |host_desc +ription| - Volumes NULL on 300 + 36 0 0 36 2 on |host_desc +ription| - Directory Entries NULL on + 300 37 0 0 37 11 on |host_desc +ription| - Hard Drive Space NULL on + 300 38 0 0 38 2 on |host_desc +ription| - Errors/Discards NULL on + 300 39 0 0 39 2 on |host_desc +ription| - Unicast Packets NULL on + 300 40 0 0 40 2 on |host_desc +ription| - Non-Unicast Packets NULL on + 300 41 0 0 41 2 on |host_desc +ription| - Traffic NULL on 300 + 55 0 0 42 2 |host_desc +ription| - CPU Utilization NULL on + 300 56 0 0 43 12 |host_desc +ription| - Hard Drive Space NULL on + 300 57 0 0 44 12 |host_desc +ription| - CPU Utilization NULL on + 300 58 0 0 45 1 |host_desc +ription| - Processes NULL on 300 + 59 0 0 46 1 |host_desc +ription| - Logged in Users NULL on + 300 62 13 3 13 6 NULL|host_descriptio +n| - Memory - FreeLocalhost - Memory - Free<path_rra>/localhost_mem_b +uffers_3.rrdNULLon NULL300 NULL 63 15 4 15 6 NULL|host_descriptio +n| - Memory - Free SwapLocalhost - Memory - Free Swap<path_rra>/local +host_mem_swap_4.rrdNULLon NULL300 NULL 64 11 5 11 4 NULL|host_descriptio +n| - Load AverageLocalhost - Load Average<path_rra>/localhost_load_1m +in_5.rrdNULLon NULL300 NULL 65 17 6 17 5 NULL|host_descriptio +n| - Logged in UsersLocalhost - Logged in Users<path_rra>/localhost_u +sers_6.rrdNULLon NULL300 NULL 66 16 7 16 7 NULL|host_descriptio +n| - ProcessesLocalhost - Processes<path_rra>/localhost_proc_7.rrdNUL +Lon NULL300 NULL 68 0 0 47 1 |host_desc +ription| - Memory - Cache NULL on +300 69 0 0 48 1 on |host_desc +ription| - NULL on 300 + 70 0 0 49 0 10 minutes + NULL on 600 71 70 8 49 0 NULL10 minutes10 min +utes/var/www/cacti_rrd/MMS/Daily/CDR_TOTAL_901S902M905S906WAPENC.rrdN +ULLon NULL600 NULL 72 70 9 49 0 NULL10 minutes10 min +utes/var/www/cacti_rrd/MMS/Daily/CDR_TOTAL_901R902M905S906FOREIGNOPTU +S.rrdNULLon NULL600 NULL [cacti@cacti other]$
INSERT INTO data_template_data (id, local_data_template_data_id, local +_data_id, data_template_id, data_input_id, t_name, name, name_cache, +data_source_path, t_active, active, t_rrd_step, rrd_step, t_rra_id) V +ALUES (3, 0, 0, 3, 2, 'on', '|host_description| - Hard Drive Space', '', N +ULL, '', 'on', '', 300, ''), (4, 0, 0, 4, 1, '', '|host_description| - CPU Usage - System', '', N +ULL, '', 'on', '', 300, ''), (5, 0, 0, 5, 1, '', '|host_description| - CPU Usage - User', '', NUL +L, '', 'on', '', 300, ''), (6, 0, 0, 6, 1, '', '|host_description| - CPU Usage - Nice', '', NUL +L, '', 'on', '', 300, ''), (7, 0, 0, 7, 2, 'on', '|host_description| - Noise Level', '', NULL, +'', 'on', '', 300, ''), (8, 0, 0, 8, 2, 'on', '|host_description| - Signal Level', '', NULL, + '', 'on', '', 300, ''), (9, 0, 0, 9, 2, 'on', '|host_description| - Wireless Transmits', '', + NULL, '', 'on', '', 300, ''), (10, 0, 0, 10, 2, 'on', '|host_description| - Wireless Re-Transmits' +, '', NULL, '', 'on', '', 300, ''), (11, 0, 0, 11, 4, '', '|host_description| - Load Average', '', NULL, + '', 'on', '', 300, ''), (13, 0, 0, 13, 6, '', '|host_description| - Memory - Free', '', NULL +, '', 'on', '', 300, ''), (15, 0, 0, 15, 6, '', '|host_description| - Memory - Free Swap', '', + NULL, '', 'on', '', 300, ''), (16, 0, 0, 16, 7, '', '|host_description| - Processes', '', NULL, '' +, 'on', '', 300, ''), (17, 0, 0, 17, 5, '', '|host_description| - Logged in Users', '', NU +LL, '', 'on', '', 300, ''), (18, 0, 0, 18, 10, '', '|host_description| - Ping Host', '', NULL, ' +', 'on', '', 300, ''), (19, 0, 0, 19, 1, '', '|host_description| - Total Users', '', NULL, +'', 'on', '', 300, ''), (20, 0, 0, 20, 1, '', '|host_description| - Total Logins', '', NULL, + '', 'on', '', 300, ''), (22, 0, 0, 22, 1, '', '|host_description| - File System Reads', '', +NULL, '', 'on', '', 300, ''), (23, 0, 0, 23, 1, '', '|host_description| - File System Writes', '', + NULL, '', 'on', '', 300, ''), (24, 0, 0, 24, 1, '', '|host_description| - Cache Checks', '', NULL, + '', 'on', '', 300, ''), (25, 0, 0, 25, 1, '', '|host_description| - Cache Hits', '', NULL, ' +', 'on', '', 300, ''), (26, 0, 0, 26, 1, '', '|host_description| - Open Files', '', NULL, ' +', 'on', '', 300, ''), (27, 0, 0, 27, 1, '', '|host_description| - 5 Minute CPU', '', NULL, + '', 'on', '', 300, ''), (30, 0, 0, 30, 1, '', '|host_description| - Load Average - 1 Minute' +, '', NULL, '', 'on', '', 300, ''), (31, 0, 0, 31, 1, '', '|host_description| - Load Average - 5 Minute' +, '', NULL, '', 'on', '', 300, ''), (32, 0, 0, 32, 1, '', '|host_description| - Load Average - 15 Minute +', '', NULL, '', 'on', '', 300, ''), (33, 0, 0, 33, 1, '', '|host_description| - Memory - Buffers', '', N +ULL, '', 'on', '', 300, ''), (34, 0, 0, 34, 1, '', '|host_description| - Memory - Free', '', NULL +, '', 'on', '', 300, ''), (35, 0, 0, 35, 2, 'on', '|host_description| - Volumes', '', NULL, '' +, 'on', '', 300, ''), (36, 0, 0, 36, 2, 'on', '|host_description| - Directory Entries', '' +, NULL, '', 'on', '', 300, ''), (37, 0, 0, 37, 11, 'on', '|host_description| - Hard Drive Space', '' +, NULL, '', 'on', '', 300, ''), (38, 0, 0, 38, 2, 'on', '|host_description| - Errors/Discards', '', +NULL, '', 'on', '', 300, ''), (39, 0, 0, 39, 2, 'on', '|host_description| - Unicast Packets', '', +NULL, '', 'on', '', 300, ''), (40, 0, 0, 40, 2, 'on', '|host_description| - Non-Unicast Packets', +'', NULL, '', 'on', '', 300, ''), (41, 0, 0, 41, 2, 'on', '|host_description| - Traffic', '', NULL, '' +, 'on', '', 300, ''), (55, 0, 0, 42, 2, '', '|host_description| - CPU Utilization', '', NU +LL, '', 'on', '', 300, ''), (56, 0, 0, 43, 12, '', '|host_description| - Hard Drive Space', '', +NULL, '', 'on', '', 300, ''), (57, 0, 0, 44, 12, '', '|host_description| - CPU Utilization', '', N +ULL, '', 'on', '', 300, ''), (58, 0, 0, 45, 1, '', '|host_description| - Processes', '', NULL, '' +, 'on', '', 300, ''), (59, 0, 0, 46, 1, '', '|host_description| - Logged in Users', '', NU +LL, '', 'on', '', 300, ''), (62, 13, 3, 13, 6, NULL, '|host_description| - Memory - Free', 'Loca +lhost - Memory - Free', '<path_rra>/localhost_mem_buffers_3.rrd', NUL +L, 'on', NULL, 300, NULL), (63, 15, 4, 15, 6, NULL, '|host_description| - Memory - Free Swap', +'Localhost - Memory - Free Swap', '<path_rra>/localhost_mem_swap_4.rr +d', NULL, 'on', NULL, 300, NULL), (64, 11, 5, 11, 4, NULL, '|host_description| - Load Average', 'Local +host - Load Average', '<path_rra>/localhost_load_1min_5.rrd', NULL, ' +on', NULL, 300, NULL), (65, 17, 6, 17, 5, NULL, '|host_description| - Logged in Users', 'Lo +calhost - Logged in Users', '<path_rra>/localhost_users_6.rrd', NULL, + 'on', NULL, 300, NULL), (66, 16, 7, 16, 7, NULL, '|host_description| - Processes', 'Localhos +t - Processes', '<path_rra>/localhost_proc_7.rrd', NULL, 'on', NULL, +300, NULL), (68, 0, 0, 47, 1, '', '|host_description| - Memory - Cache', '', NUL +L, '', 'on', '', 300, ''), (69, 0, 0, 48, 1, 'on', '|host_description| -', '', NULL, '', 'on', +'', 300, ''), (70, 0, 0, 49, 0, '', '10 minutes', '', NULL, '', 'on', '', 600, '') +, (71, 70, 8, 49, 0, NULL, '10 minutes', '10 minutes', '/var/www/cacti +_rrd/MMS/Daily/CDR_TOTAL_901S902M905S906WAPENC.rrd', NULL, 'on', NULL +, 600, NULL), (72, 70, 9, 49, 0, NULL, '10 minutes', '10 minutes', '/var/www/cacti +_rrd/MMS/Daily/CDR_TOTAL_901R902M905S906FOREIGNOPTUS.rrd', NULL, 'on' +, NULL, 600, NULL);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Perl DBI NULL and undef
by cheekuperl (Monk) on Aug 22, 2012 at 02:48 UTC | |
by chromatic (Archbishop) on Aug 22, 2012 at 06:03 UTC | |
Re: Perl DBI NULL and undef
by gsiems (Deacon) on Aug 22, 2012 at 02:25 UTC | |
Re: Perl DBI NULL and undef
by choroba (Cardinal) on Aug 22, 2012 at 08:36 UTC | |
Re: Perl DBI NULL and undef
by Marshall (Canon) on Aug 22, 2012 at 09:26 UTC |