open Multisession, Can't use string ("VAR0") as a symbol ref while "strict refs"

Hallo,
kann mir jemand sagen, wie ich den Code im Beispiel konzipieren muss,
damit ich "use strict;" verwenden darf ohne dass ich den Fehler Can't
use string ("VAR0") as a symbol ref while "strict refs" in use
erhalte?

use strict;
my ($open_rc, $i);
my $anzp =4;

for($i = 0; $i < $anzp; $i++) {
chmod(0774,"shellprogramm$i.sh");
$open_rc = open( VAR.$i, "./shellprogramm$i.sh |" );
}
georg.heiss [ Mo, 14 Mai 2007 13:02 ] [ ID #1712092 ]

Re: open Multisession, Can't use string ("VAR0") as a symbol refwhile "strict refs&q

georg.heiss wrote:

> kann mir jemand sagen, wie ich den Code im Beispiel konzipieren muss,
> damit ich "use strict;" verwenden darf ohne dass ich den Fehler Can't
> use string ("VAR0") as a symbol ref while "strict refs" in use
> erhalte?
>
> use strict;
> my ($open_rc, $i);
> my $anzp =4;
>
> for($i = 0; $i < $anzp; $i++) {
> chmod(0774,"shellprogramm$i.sh");
> $open_rc = open( VAR.$i, "./shellprogramm$i.sh |" );
> }

An Stellen, wo in Perl klassisch eine Filehandle steht, kann
seit längerem auch eine normale Variable stehen.
Nimm am besten ein Array:

my [at] files;
....
open($files[$i], ...

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Mo, 14 Mai 2007 13:32 ] [ ID #1712093 ]
Perl » de.comp.lang.perl.misc » open Multisession, Can't use string ("VAR0") as a symbol ref while "strict refs"

Vorheriges Thema: Frage zu UNIVERSAL
Nächstes Thema: $ENV{'REMOTE_HOST'} nutzlos?