Tooling often describes a module with small metadata fields such as name, version, and license.

metadata Metadata is descriptive information about a module or package.

Module Metadata

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

my $version = "1.2.0";
my %meta = (
    name => "Example::Tool",
    version => $version,
    license => "perl",
);
my $summary = "$meta{name}-$meta{version}";

print "version=$version\n";
print "license=$meta{license}\n";
print "summary=$summary\n";
use strict;
use warnings;

my $version = "1.3.0";
my %meta = (
    name => "Example::Tool",
    version => $version,
    license => "perl",
);
my $summary = "$meta{name}-$meta{version}";

print "version=$version\n";
print "license=$meta{license}\n";
print "summary=$summary\n";
use strict;
use warnings;

my $version = "2.0.0";
my %meta = (
    name => "Example::Tool",
    version => $version,
    license => "perl",
);
my $summary = "$meta{name}-$meta{version}";

print "version=$version\n";
print "license=$meta{license}\n";
print "summary=$summary\n";
  1. $version ← 1.2.0, %meta ← 3, $summary ← Example::Tool-1.2.0

    4my $version→ 1.2.0 = "1.2.0"; #@version="1.3.0", "2.0.0"5my %meta→ 3 = (6    name => "Example::Tool",7    version => $version1.2.0,8    license => "perl",9);10my $summary→ Example::Tool-1.2.0 = "$metaExample::Tool{name}-$meta1.2.0{version}";1112print "version=$version1.2.0\n";13print "license=$metaperl{license}\n";14print "summary=$summaryExample::Tool-1.2.0\n";
    outputversion=1.2.0
    license=perl
    summary=Example::Tool-1.2.0
  1. $version ← 1.3.0, %meta ← 3, $summary ← Example::Tool-1.3.0

    4my $version→ 1.3.0 = "1.3.0";5my %meta→ 3 = (6    name => "Example::Tool",7    version => $version1.3.0,8    license => "perl",9);10my $summary→ Example::Tool-1.3.0 = "$metaExample::Tool{name}-$meta1.3.0{version}";1112print "version=$version1.3.0\n";13print "license=$metaperl{license}\n";14print "summary=$summaryExample::Tool-1.3.0\n";
    outputversion=1.3.0
    license=perl
    summary=Example::Tool-1.3.0
  1. $version ← 2.0.0, %meta ← 3, $summary ← Example::Tool-2.0.0

    4my $version→ 2.0.0 = "2.0.0";5my %meta→ 3 = (6    name => "Example::Tool",7    version => $version2.0.0,8    license => "perl",9);10my $summary→ Example::Tool-2.0.0 = "$metaExample::Tool{name}-$meta2.0.0{version}";1112print "version=$version2.0.0\n";13print "license=$metaperl{license}\n";14print "summary=$summaryExample::Tool-2.0.0\n";
    outputversion=2.0.0
    license=perl
    summary=Example::Tool-2.0.0