パスワードを忘れた? アカウント作成
741893 journal

soramineの日記: これは何でしょう?

日記 by soramine

#! /usr/bin/perl

{
    $mincharlen = 1;
    $maxcharlen = 20;
    @nowcntnum = ();
    $stdoutchar = '';
    $madecounter = 0;
    @usecharacters = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '-', '_', '.', '/');

    $usecharnum = @usecharacters;

    if($mincharlen &#60 1)
        {
            die('ERROR: Illegal input data $mincharlen value, ');
        }
    if($mincharlen &#62 $maxcharlen)
        {
            die('ERROR: Illegal input data $maxchalen value, ');
        }

    for(my $i=0; $i &#60 $mincharlen; $i++)
        {
            push(@nowcntnum, '0');
        }
    for(my $i = $mincharlen; $i &#60 $maxcharlen; $i++)
        {
            push(@nowcntnum, 'NULL');
        }

    $endflag = 'off';
    while($endflag eq 'off')
        {
            $stdoutchar = '';

            foreach my $charnumber (@nowcntnum)
                {
                    if($charnumber eq 'NULL')
                        {
                            last;
                        }

                    $stdoutchar .= $usecharacters[$charnumber];
                }

            print $stdoutchar;
            print "\n";
            $madecounter++;

            &plusone('0');
        }

    print "\n";
    print "output $madecounter strings.\n";
    print "\n";

    exit;
}

sub plusone
{
    my $ketasuu = $_[0];
    if($ketasuu eq '')
        {
            $ketasuu = 0;
        }

    if($ketasuu == $maxcharlen)
        {
            $endflag = 'on';
            last;
        }

    my $calcnumber = $nowcntnum[$ketasuu];
    if($calcnumber eq 'NULL')
        {
            $nowcntnum[$ketasuu] = 0;
            return;
        }
    if($calcnumber == ($usecharnum - 1))
        {
            $nowcntnum[$ketasuu] = 0;
            &plusone($ketasuu + 1);
            return;
        }

    $nowcntnum[$ketasuu] = $calcnumber + 1;
}

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...