Acme-Glue

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

## LEEJO (perl5 LOC count as of 5.38 release)

    % git branch
    * blead
    % find . -name "*.[ch]" | xargs wc -l | sort -nr | head -n5
      788279 total
      436086 ./charclass_invlists.h
       17540 ./sv.c
       16254 ./regcomp.c
       15712 ./op.c

## LEEJO (fizz\_buzz.pl generated from an "AI"; it's wrong in so many ways, it doesn't even compile)

        # Define a function that takes two arguments (starting number and ending number)
        sub fizz_buzz {

                # Initialize variables for counting and ending values
                my $count   = 0;
                my @results = ();

                # Loop through numbers between starting and ending values
                for my $i ( $starting .. $ending ) {

                        # Check if current number is divisible by any of these factors: 15, 3 or itself
                        foreach my $factor ( @factors ) {
                                next unless $_  * $i == $i;
                                push( @{ $results[$factor] },"$i" );
                        }
                        else {
                                push( @{ $results[0] },"$i" );
                        }

                        $count++;
                }

                return \@results;
        }

        # Define arrays containing factors to check for each result type
        my %fizz = ( 15 );
        my %buzz = ( 3 );
        my %self = ( 0 );

        # Call the fizz_buzz subroutine with appropriate parameters
        print Dumper( \@result );

## LEEJO (snippet from obs-studio/libobs/obs.c)

        static void stop_audio(void)
        {
                struct obs_core_audio *audio = &obs->audio;

                if (audio->audio) {
                        audio_output_close(audio->audio);
                        audio->audio = NULL;
                }
        }

## LEEJO (only compiles on a Friday)

    # general idea shamelessly stolen from Randal L. Schwartz:
    # https://www.perlmonks.org/index.pl?node_id=44722

    use Time::Piece;

    BEGIN {
        *f = (localtime->wdayname eq 'Fri')
            ? sub() {}
            : sub {};
    }

    f/1;#/+

## MIKESTOK (soundex "joke")

    sub Soundex
    {
      local ($_, $f) = shift;

      y;a-z;A-Z;;y;A-Z;;cd;$_ ne q???do{($f)=m;^(.);;s;$f+;;;
      y;AEHIOUWYBFPVCGJKQSXZDTLMNR;00000000111122222222334556;;
      y;;;cs;y;0;;d;s;^;$f;;s;$;0000;;m;(^.{4});;$1;}:q;;;
    }

## NERDVANA (delorean\_ options.pl)

    GetOptions(
        'help|h|?'       => sub { pod2usage(1) },
        'serial-dev|d=s' => \my $opt_serial_dev= '/dev/delorean',
        'socket|S=s'     => \my $opt_socket= '/run/uctl-daemon.sock',
    ) or pod2usage(2);

## SLU (MAZE.BAS)

    10 PRINT CHR$(205.5+RND(1));:GOTO 10

## SLU (schwartzian\_transform.pl)

    #!/usr/bin/env perl
    # https://en.wikipedia.org/wiki/Schwartzian_transform
    # Sort list of words according to word length

    print "$_\n" foreach
      map  { $_->[0] }
      sort { $a->[1] <=> $b->[1] or $a->[0] cmp $b->[0] }
      map  { [$_, length($_)] }
      qw(demo of schwartzian transform);

## LIST OF WORKSHOPS / CONFERENCES

A full list of the workshops and conferences this project was shot at

- Alpine Perl Workshop (2016)
- FOSDEM (2024)
- German Perl Workshop (2019)
- German Perl and Raku Workshop (2022, 2023, 2024, 2025)
- Les Journées Perl (2017, 2019)
- London Perl Workshop (2015, 2016, 2019)
- PerlCon (2019)
- Swiss Perl Workshop (2015, 2017, 2018, 2019)
- The Perl Conference \[EU\] (2017, 2018)



( run in 0.434 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )