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

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

am 14.05.2007 13:02:55 von georg.heiss

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 |" );
}

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

am 14.05.2007 13:32:29 von Frank Seitz

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 @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