O'Reilly logo

Games, Diversions & Perl Culture by Jon Orwant

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 36. The Perl Wizard’s Quiz

Tom Christiansen

Answers are at the end of the article.

  1. What value is returned by a lone return statement?

    1. The empty list value ().

    2. The undefined value in scalar context, and the empty list value () in list context.

    3. The result of the last evaluated expression in that subroutine’s block.

    4. The undefined value.

  2. What’s the difference between /^Foo/s and /^Foo/?

    1. The first would allow the match to cross newline boundaries.

    2. The first would match Foo other than at the start of the record if the previous match were /^Foo/gcm, new in the 5.004 release.

    3. The second would match Foo other than at the start of the record if $* were set.

    4. There is no difference because /s only affects whether dot can match newline.

  3. What does length(%HASH) produce if you have 37 random keys in a newly created hash?

    1. 5

    2. 37

    3. 74

    4. 2

  4. What does read return at end of file?

    1. 0

    2. “0 but true”

    3. “\0”

    4. undef

  5. How do you produce a reference to a list?

    1. [ @array ]

    2. \($s, @a, %h, &c)

    3. You can’t produce a reference to a list.

    4. \@array

  6. Why aren’t Perl’s patterns regular expressions?

    1. Because Perl allows both minimal matching and maximal matching in the same pattern.

    2. Because Perl uses a non-deterministic finite automaton rather than a deterministic finite automaton.

    3. Because Perl patterns can have look-ahead assertions and negations.

    4. Because Perl patterns have backreferences.

  7. Why doesn’t Perl have overloaded functions?

    1. Because you can inspect the argument count, return context, and object types all by yourself.

    2. It does, along with overloaded operators ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required