Thread Problem mit FileHandle (24 answers)
Opened by rosti at 2011-04-05 22:27

topeg
 2011-04-06 12:02
#147420 #147420
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
2011-04-06T07:56:39 rosti
Quote
Jedoch würde ich zu gerne wissen, welche Vorteile du in deinem Anwendungsfall von tie bezüglich einer normalen Funktion siehst.


Mit tie() wird es modular. Und ich kann auch mal einen numerischen Wert (da muss noch eine Prüfung rein, dass der Wert auch wirklich numerisch ist) ggf. persistent ändern.

Ok, obwohl mir gleich ein paar äquivalente Lösungen einfallen. Auf "tie" wäre ich zuletzt gekommen. :-)

2011-04-06T07:56:39 rosti
Eine Anwendung ist das Abholen meiner Mails per Script vom POP3-Server, da brauche ich fortlaufende Nummern für die lokalen Dateinamen; hier haben wir den Fall, dass beim Starten des Scripts einmal automatisch hochgezählt wird und dann das Script je empfangene Mail selbst weiterzählt. Es sind auch Mails von mehreren POP's anzuholen....


Also mir wäre so eine Lösung eingefallen:
Code (perl): (dl )
1
2
3
4
5
6
my $counter=Conter->new(file=>$file,keys=>[qw(foo bar bam)]);
$counter->up('foo');
# oder mit dynamischer Methoden-Deklaration:
$counter->foo_up();
# oder mit overload:
$counter+="foo";

das ist auch nicht so viel anders als
Code (perl): (dl )
1
2
tie (my %counter, 'Tie::Counter', file=>$file, keys=>[qw(foo bar bam)]);
$counter{foo}++;

View full thread Problem mit FileHandle