Use a fallback string when input is empty.

or-fallback The `||` operator can choose a default value for empty input.

Or Fallback

name
or_fallback.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $name = "";
my $display = $name || "guest";
my $label = "user:$display";

print "name=$display\n";
print "label=$label\n";
use strict;
use warnings;

my $name = "Ada";
my $display = $name || "guest";
my $label = "user:$display";

print "name=$display\n";
print "label=$label\n";
use strict;
use warnings;

my $name = "Kai";
my $display = $name || "guest";
my $label = "user:$display";

print "name=$display\n";
print "label=$label\n";
  1. $name ← (empty), $display ← guest, $label ← user:guest

    4my $name→ (empty) = ""; #@name="Ada", "Kai"5my $display→ guest = $name(empty) || "guest";6my $label→ user:guest = "user:$displayguest";78print "name=$displayguest\n";9print "label=$labeluser:guest\n";
    outputname=guest
    label=user:guest
  1. $name ← Ada, $display ← Ada, $label ← user:Ada

    4my $name→ Ada = "Ada";5my $display→ Ada = $nameAda || "guest";6my $label→ user:Ada = "user:$displayAda";78print "name=$displayAda\n";9print "label=$labeluser:Ada\n";
    outputname=Ada
    label=user:Ada
  1. $name ← Kai, $display ← Kai, $label ← user:Kai

    4my $name→ Kai = "Kai";5my $display→ Kai = $nameKai || "guest";6my $label→ user:Kai = "user:$displayKai";78print "name=$displayKai\n";9print "label=$labeluser:Kai\n";
    outputname=Kai
    label=user:Kai