aoc2015

Advent of Code 2015 solutions in Perl.
git clone git://git.samirparikh.com/aoc2015
Log | Files | Refs | README

commit 5123382b7619eec46052aed65f56c5fef0cf200d
parent 1002e1f221a260e1ede56b5b105639e89d09c322
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Thu, 27 Oct 2022 20:25:09 +0000

cleanup code

Diffstat:
Mday08/Day08.pm | 33+++++++++++----------------------
Mday08/day08.pl | 1-
2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/day08/Day08.pm b/day08/Day08.pm @@ -7,31 +7,20 @@ use v5.32; use Exporter qw( import ); our @EXPORT = qw( count_characters ); -open my $fh, '>', 'myoutput.txt' or die "error: $!"; - sub count_characters { - my $string = shift; -# say $string, " has a length of ", length $string; -# if ( $string =~ m/\\\"/ ) { -# say "I found a '\\\"' in $string"; -# } - $string =~ s/^"//; # remove beginning quote - #$string =~ s| - $string =~ s/"$//; # remove trailing quote - my $backslash = qr/\\\\/; - my $double_quote = qr/\\\"/; - my $ascii = qr/\\x[0-9a-f]{2}/; -# say "$string has a backslash" if $string =~ m/$backslash/g; -# say "$string has a double quote" if $string =~ m/$double_quote/g; -# say "$string has an ascii" if $string =~ m/$ascii/gi; - my $backslash_count = () = $string =~ m/$backslash/g; + my $string = shift; + $string =~ s/^"//; # remove beginning quote + $string =~ s/"$//; # remove trailing quote + my $backslash = qr/\\\\/; + my $double_quote = qr/\\\"/; + my $ascii = qr/\\x[0-9a-f]{2}/; + my $backslash_count = () = $string =~ m/$backslash/g; my $double_quote_count = () = $string =~ m/$double_quote/g; - my $ascii_count = () = $string =~ m/$ascii/gi; - my $string_characters = 2 + length $string; - my $memory_characters = $string_characters - 2 - $backslash_count + my $ascii_count = () = $string =~ m/$ascii/gi; + my $string_characters = 2 + length $string; + my $memory_characters = $string_characters - 2 - $backslash_count - $double_quote_count - (3 * $ascii_count); - printf "%50s%5d%5d%5d%5d%5d%5d\n", $string, $string_characters, $backslash_count, $double_quote_count, $ascii_count, $memory_characters, ($string_characters-$memory_characters); - print $fh "$string\t$string_characters\t$memory_characters\n"; + return $string_characters - $memory_characters; } diff --git a/day08/day08.pl b/day08/day08.pl @@ -13,7 +13,6 @@ chomp( my $input = do { local $/; <> } ); my @strings = split /\n/, $input; my $part1; -printf "%50s%5s%5s%5s%5s%5s%5s\n", "str", "len", "\\", "\"", "\\x", "mem", "dif"; foreach ( @strings ) { $part1 += count_characters( $_ ); }