- if ($template =~ /SUBSTITUTE_BARCODE/ && defined $barcode) {
- $label = $template;
- $label =~ s/SUBSTITUTE_BARCODE/$barcode/g;
- if ($tl->lookup_tapelabel($label)) {
- return (undef, "Label '$label' already exists");
- }
- } elsif ($template =~ /SUBSTITUTE_BARCODE/ && !defined $barcode) {
- return (undef, "Can't generate new label because volume have no barcode");
- } else {
+ $label = $template;
+ $label =~ s/SUBSTITUTE_BARCODE/$barcode/g;
+ if ($template =~ /SUBSTITUTE_SLOT/) {
+ my $slot_label = sprintf("%0*d", $slot_digit, $slot);
+ $label =~ s/SUBSTITUTE_SLOT/$slot_label/g;
+ }
+ if ($template =~ /SUBSTITUTE_BARCODE/ && !defined $barcode) {
+ return (undef, "Can't generate new label because volume has no barcode");
+ } elsif ($template =~ /SUBSTITUTE_SLOT/ && !defined $slot) {
+ return (undef, "Can't generate new label because volume has no slot");
+ } elsif ($label eq $template) {