Skip to content

Instantly share code, notes, and snippets.

@Kuniwak
Created July 3, 2014 13:29
Show Gist options
  • Select an option

  • Save Kuniwak/727b1f71979832c277e0 to your computer and use it in GitHub Desktop.

Select an option

Save Kuniwak/727b1f71979832c277e0 to your computer and use it in GitHub Desktop.

Quiz1

#!/usr/bin/env perl
use strict;
use warnings;

print 1;

BEGIN {
    print 2;
}

print 3;
213

Quiz2

#!/usr/bin/env perl
use strict;
use warnings;

my $var = 'foo';

BEGIN {
    print $var; 
}
Use of uninitialized value $var in print at /Users/yuki.kokubun/Desktop/perl-quiz/quiz1/quiz1.pl line 8.

Quiz3

#!/usr/bin/env perl
use strict;
use warnings;

BEGIN {
    print $var; 
}

my $var = 'foo';
Global symbol "$var" requires explicit package name at /Users/yuki.kokubun/Desktop/perl-quiz/quiz1/quiz1.pl line 6.
BEGIN not safe after errors--compilation aborted at /Users/yuki.kokubun/Desktop/perl-quiz/quiz1/quiz1.pl line 7.

Quiz4

#!/usr/bin/env perl
use strict;
use warnings;

my $var;

BEGIN {
    $var = 'foo';
}

print $var; 
foo

Quiz5

#!/usr/bin/env perl
use strict;
use warnings;

use Foo;

BEGIN {
    print "main BEGIN\n";
}

print "main\n";

use Bar;
package Foo;
use strict;
use warnings;

print "Foo\n";

BEGIN {
    print "Foo BEGIN\n";
}

1;
package Bar;
use strict;
use warnings;

print "Bar\n";

BEGIN {
    print "Bar BEGIN\n";
}

1;
Foo BEGIN
Foo
main BEGIN
Bar BEGIN
Bar
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment