Hallo Forum,
ich habe eine reihe Filehandles, die heißen alle 'S1, S2, S3,...'.
Nun würde ich gerne soetwas machen:
for (qw/1 2 3/){
print S$_ "meinzeug";
}
Leider mag der das nicht "Strinf found where operator expected". Was wohl daran liegt das print einen Listenkontext erwartet?. Dann habe ich folgendes probiert:
for (qw/1 2 3/){
my $fh = "S".$_;
print $fh "meinzeug";
}
Ergebnis:
Can't use string ("S1") as a symbol ref while "strict refs"..
Nun habe ich zwar eine Lösung die funktioniert aber hässlich ist.
Gibt es keine Möglichkeit soetwas in "einer print Anweisung" hinzubekommen? Vom Prinzip her sowas wie der erste Ansatz, nur das es halt funktioniert ;-)
Falls es interessiert, so habe ich es dann gemacht:
for (qw/1 2 3/){
my $fh = "S".$_;
select (fh);
print "meinzeug";
}
Gruß,
Aleks