1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/perl use strict; use warnings; if (open(my $fh,'>','test.xxx')) { test(\$fh); } else { die "Nein, wegen $!" } sub test{ my ($t) = @_; print $$t "test\n"; # <-- dies soll in die Datei geschrieben werden }
QuoteGLOB(0x3ac098)test
print {$$t} "String";
1 2 3 4 5
sub test{ my ($t) = @_; my $fh = $$t; print $fh "test\n"; # <-- dies soll in die Datei geschrieben werden }
1 2 3 4 5 6 7
sub foo { my $handle = shift; print $handle "tralala\n"; } foo( $fh );
2016-06-06T10:41:51 LinuxerWarum übergibst Du eigentlich eine Referenz auf den lexikalischen Filehandle und warum nicht direkt?
procedure foo(const bar: Integer);
procedure foo(var bar: Integer);
foo($mein_string) # $mein_string kann ich der Sub nicht nach draussen geändert werden
foo(\$mein_string) # $mein_string kann geändert werden.
2016-06-08T07:20:24 MuffiCode (perl): (dl )foo($mein_string) # $mein_string kann ich der Sub nicht nach draussen geändert werden
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#! /usr/bin/perl use strict; use warnings; use 5.010; sub foo { $_[0] =~ s/Echo/Otto/; } my $text = "Hallo Echo"; foo($text); # schau nach, was nun in $text steckt say $text;
1
2
3
4
foo( "Hallo Welt" );
# ergibt dann
# Modification of a read-only value attempted at t.pl line 8.