The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
    @tmp = split /\./, $screen_value;
    if ( defined $tmp[1] ) {
        @vm = split //, $tmp[0];
        @vn = split //, $tmp[1];
    }
    else {
        @vm = defined $tmp[0] ? split //, $tmp[0] : ();
        @vn = ();
    }
    undef @tmp;
    @tmp = split /\./, $self->{format};
    @fm = split //, $tmp[0];
    if ( defined $tmp[1] ) {
        @fn = split //, $tmp[1];
    }

    $vpos = $#vm;
    for ( $i = $#fm ; $i >= 0 ; $i-- )
    {    # treat '-' and '&' as '#' -  not clear what these chars mean
        my $c = $fm[$i];
        if ( $c eq '#' || $c eq '-' || $c eq '&' )
        {
            if ($vpos >= 0) {
                my $num = $vm[$vpos];
                if ( !$self->is_number($num) ) {
                    return ( $screen_value, -1 );
                }
                $mout[$i] = $num;
            } else {
                $mout[$i] = ' ';
            }
        } else {
            $mout[$i] = $c;
        }
        $vpos--;
    }

    $vpos = 0;
    for ( $i = 0 ; $i <= $#fn ; $i++ ) {
        if ( $fn[$i] eq '#' && $vpos <= $#vn ) {
            my $num = $vn[$vpos];
            if ( !$self->is_number($num) ) {
                return ( $screen_value, -1 );
            }
            $nout[$i] = $vn[$vpos];
        }
        elsif ( ( $fn[$i] eq '#' || $fn[$i] eq '-' )
            && $vpos > $#vn )
        {
            $nout[$i] = '0';
        }
        else {
            $nout[$i] = $fn[$i];
        }
        $vpos++;
    }

    # calculate if too many to display

    $mout = join '', @mout;
    $nout = join '', @nout;
    $out = $mout . '.' . $nout;

    return ( $out, 0 );

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 66:

=pod directives shouldn't be over one line long! Ignoring all 23 lines of content

Around line 1132:

=pod directives shouldn't be over one line long! Ignoring all 3 lines of content