[Vienna-pm] lesen und schreiben in Einem

Thomas Klausner domm at cpan.org
Sun Oct 29 23:10:48 PST 2006


Hi!

On Mon, Oct 30, 2006 at 06:44:50AM +0100, Marinos Yannikos wrote:

> Finde ich auch, au?erdem weitaus weniger komplex und lustiger. Man mu? 
> halt ohne goodies wie "rcsdiff" leben k?nnen.

Jetzt muss ich mich auch noch kurz einschalten:

> 	open ERG "> $0_Erg.txt" ...
>          [...]
> 	# evtl. eine Trennzeile oder ^Z o.?. ausgeben
>          print ERG `cat $0`;

Statt $0 kann man auch das spezielle Filehandle 0 (Null) verwenden
(spart ein paar '$'...):

  open 0;print for<0>;

ok, das printet zwar nach STDOUT, aber das kann man leicht aendern:

  # das muss sowieso schon wo stehen..
  my $o;
  open ($o,'>','out') || die $!;

  open 0;print$o $_ for<0>;

Eine ganz andere Moeglichkeit gibts noch, aber die braucht ein __DATA__
am Ende des scripts:

  use strict;
  use warnings

  seek(DATA,0,0);print for<DATA>;
  __DATA__

Mit dem 0-Filehandle ist es zwar kuerzer, aber der DATA-seek ist ein
wenig kryptischer (aber darum gehts hier ja nicht, oder?)

Abgesehen vom sportlichen Aspekt muss ich aber auch massiv zu einer
Versionskontrolle raten :-)

-- 
#!/usr/bin/perl                               http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}


More information about the Vienna-pm mailing list