aboutsummaryrefslogtreecommitdiff
path: root/challenge-069/arne-sommer/perl/01-string-perl
blob: 4c3134abc1841fea8bc7da8c48969444b4ce6740 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/env perl

use strict;
use warnings;
use feature 'say';
use feature 'signatures';

no warnings "experimental::signatures";

my $limit = $ARGV[0] // 30;

sub switch ($string)
{
  return join("", map { $_ eq "1" ? 0 : 1 } split("", $string));
}

my $prev = "";

for my $counter (0 .. $limit)
{
  say "S" . $counter++ . " = \"$prev\"";
  $prev = $prev . "0" . switch(reverse($prev));
}