Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Fix-it fix-it fix-it!

by jwkrahn (Monsignor)
on Nov 15, 2012 at 04:52 UTC ( #1003929=note: print w/replies, xml ) Need Help??


in reply to Fix-it fix-it fix-it!

print "What is the name of the access rights .csv? (Full file name)\n" +; my $file = <>;

That would be better written as:

print "What is the name of the access rights .csv? (Full file name)\n" +; chomp( my $file = <STDIN> );


print "Is there a header in this file?\n"; my $header = <>; if ($header =~ m/^yes|^y]/i){ $header = "1"; } else {$header = "undef"; }

At this point $header will ALWAYS be true.    I think you meant $header = undef; instead of $header = "undef";.



open (CSV, "<", $file);

You should always verify that the file opened correctly before trying to use an invalid filehandle.

open CSV, '<', $file or die "Cannot open '$file' because: $!";

Replies are listed 'Best First'.
Re^2: Fix-it fix-it fix-it!
by Tux (Abbot) on Nov 15, 2012 at 07:08 UTC

    All good advice :)

    And of course add to this that one should use Text::CSV_XS or Text::CSV to read/parse CSV. The method in the OP might work now, but is unlikely to work when the CSV gets real.


    Enjoy, Have FUN! H.Merijn

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003929]
help
Chatterbox?
[Cosmic37]: I guess it is searching for the string "$mydt"
[Corion]: Indeed cool, erix ;)
[Cosmic37]: rather than the value of $mydt which is a date time strong such as 2016-01-01 12:30:56
[Corion]: Cosmic37: No, but maybe $mydt doesn't contain what you think it does, or it contains characters that are special in a regular expression? Try if( $line =~ /\Q$mydt\E/) { ... for a literal match
[Cosmic37]: I mean string grrr
[Corion]: Maybe add an else branch in which you print what the values of $line and $mydt are?
[Cosmic37]: ah thank you I will try
[Cosmic37]: you are right $mydt did not contain what I expected... :-D I will now think :-D
[Cosmic37]: crunch...grind... whirr...gnashing metal crunching cogs...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2017-06-29 17:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (673 votes). Check out past polls.