http://www.perlmonks.org?node_id=1015597


in reply to Conditional statements in CGI/Div

Your style is all over the place and to do in such a sort space is something of an achievement. :P Please use strict and pick a CGI style. You are importing a ton of functions (":standard") but using it object oriented. There is almost never a reason to use it OOP in a standalone script; only if you need to pass it around libraries or harnesses.

You can't just drop a post-fix conditional into a print list. You can use the Enterprise operator (see Secret Perl Operators: the boolean list squash operator, x!!), among a couple other tricks though–

use strict; use CGI ":standard"; my $index = param("index") || 0; print header(), start_html(), div({ -id => "pagewrap" }, ( p("Hello") ) x ! $index, ), end_html();