in reply to Perl allows package names consisting entirely of colons
Seems to work only when the colons come in pairs:
#! perl use strict; use warnings; package ::::: { sub x { printf "(%s)\n", __PACKAGE__; } } package main; :::::::x();
Produces:
23:01 >perl 405_Obfu.pl Bareword "::::::" refers to nonexistent package at 405_Obfu.pl line 27 +. Invalid version format (non-numeric data) at 405_Obfu.pl line 17, near + "package ::::" syntax error at 405_Obfu.pl line 17, near "package :::::" Execution of 405_Obfu.pl aborted due to compilation errors. 23:02 >
“Curiouser and curiouser!” cried Alice.
Update: D’oh! (slaps forehead). Of course! :: is a synonym for main, and so is ::main and therefore ::::, likewise ::::::, etc., etc. (See Packages.) This “insight” is wrong — see reply by tobyink, below.
Athanasius <°(((>< contra mundum
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Perl allows package names consisting entirely of colons
by tobyink (Canon) on Nov 27, 2012 at 13:33 UTC |
In Section
Obfuscated Code