Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Useless use of private variable in void context at

by GrandFather (Saint)
on Nov 23, 2014 at 22:13 UTC ( [id://1108187]=note: print w/replies, xml ) Need Help??


in reply to Useless use of private variable in void context at

You are using a C style for loop. The first element of the for loop header is an initialization statement, but $i doesn't actually do anything - it is a variable used in a silly place (void context) because the value isn't used there.

But, you'd be much better to use a Perl loop:

for my $i (0 .. 5006) { ... }

which makes what is going on much clearer. But for your particular problem you could:

#!/bin/perl use strict; use warnings; my $thing = join '', map{qw(a t c g)[rand 4]} 1 .. 5007; my $fName = "./test"; open my $outFile, '>', $fName or die "Can't create '$fName': $!\n"; print $outFile $thing; close $outFile;

Note the three parameter open, lexical file handle and a check that the open succeeded.

Perl is the programming world's equivalent of English

Replies are listed 'Best First'.
Re^2: Useless use of private variable in void context at
by Anonymous Monk on Nov 23, 2014 at 22:54 UTC

    Thanks!

Re^2: Useless use of private variable in void context at
by RonW (Parson) on Nov 24, 2014 at 18:10 UTC

    Note that for (;$i<5007;$i++) is also valid.

    Update:

    While this is considered "very un-Perl-ish", it is very common in C/C++ and even C# (though both C++ and C# also have for-each syntax, as well). Therefore, there are many developers who are more comfortable with this form.

      Also needlessly obscure and error prone compared to a Perl loop (for (1 .. 5007) {...}) used for performing some number of iterations of a loop.

      Perl is the programming world's equivalent of English

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1108187]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2024-04-18 09:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found