Thread Referenz auf FILEHANDLE oder Global (10 answers)
Opened by Karsten42 at 2018-04-27 11:09

rosti
 2018-04-28 08:06
#188317 #188317
User since
2011-03-19
3470 Artikel
BenutzerIn
[Homepage]
user image
Nunja, wenn man STDIN an eine sub übergeben will ist das gar nicht anders möglich: $self->foo(*STDIN);

Anderes Beispiel:

Code (perl): (dl )
1
2
3
4
5
6
# Response als Rohdaten ausgeben
# Optional FileHandle als Argument
sub print_rawdata{
    my $self = shift;
    my $fh   = shift || *STDOUT;
...


Und noch ein Beispiel für ein Typeglob auf eine sub in einer ausgelagerten Datei:

Code (perl): (dl )
1
2
3
4
# Datei foo.pm
*foo = sub{
   my $self = shift;
};


Wer diese Datei per require einbindet, lädt eine Funktion mit dem Namen foo in seinen Namespace. Wobei o.g. Schreibweise auch sicherstellt, daß die Datei einen wahren Wert zurückgibt.

Dasselbe in herkömmlicher Schreibweise:

Code (perl): (dl )
1
2
3
4
5
# Datei foo.pm
sub foo{
   my $self = shift;
}
1;


MfG

View full thread Referenz auf FILEHANDLE oder Global