[Vienna-pm] perl 5.10.0 -C

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Wed Jul 16 07:09:47 PDT 2008


On 2008-07-16 13:08:32 +0200, Robert Barta wrote:
> On Wed, Jul 16, 2008 at 12:46:05PM +0200, Peter J. Holzer wrote:
> > #!/usr/bin/perl -CO
> > print "\x{20AC}\n";
> > 
> > Das funktioniert auf perl 5.8.x wie gewünscht (gibt ein UTF-8-kodiertes
> > €-Zeichen aus). Mit Perl 5.10.0 bekommt man die Fehlermeldung:
> > 
> > Too late for "-CO" option at ./foo line 1.
> 
> Dunkel hab ich in Erinnerung, dass bestimmte Switches nicht
> im #! funktionieren. Bei -T kam's einmal vor.

Kann eigentlich schon deswegen nicht sein, weil (zumindest auf
vernünftigen OSen) der Shebang vom Betriebssystem ausgewertet wird:

Wenn also das Script "foo" mit "#!/usr/bin/perl -CO" beginnt, dass ruft
das Betriebssystem "/usr/bin/perl", "-CO", "path/to/foo" auf.

(Die Shebang-Zeile wird dann von Perl noch einmal geparst, um das
Shebang-Handling für weniger vernünftige OSs zu emulieren, aber in
meinem Fall sollten hier nur die gleichen Optionen gefunden werden wie
auf der Commandline).

Im Fall von -C wurde offensichtlich in Version 5.9.2 ein expliziter
Check eingebaut, der -C in der Shebang-Zeile verhindert (danke, Nino),
und das ist auch in perl592delta dokumentiert. In perldoc perlrun (wo
die Option -C beschrieben ist) finde ich auch beim dritten mal lesen
keinen Hinweis darauf.

	hp

-- 
   _  | Peter J. Holzer    | Openmoko has already embedded
|_|_) | Sysadmin WSR       | voting system.
| |   | hjp at hjp.at         | Named "If you want it -- write it"
__/   | http://www.hjp.at/ |  -- Ilja O. on community at lists.openmoko.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://mail.pm.org/pipermail/vienna-pm/attachments/20080716/eaa4aefc/attachment.bin>


More information about the Vienna-pm mailing list