Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: difficult error checking

by Sol-Invictus (Scribe)
on Jan 28, 2004 at 21:48 UTC ( #324796=note: print w/ replies, xml ) Need Help??


in reply to difficult error checking

use a hash to filter doubles

#! perl -w use strict; my($file); my(%upload,%seen); %upload=(a=> 'dog', b=> 'cat', c=> 'llama', d => 'dog' ); for (keys %upload){ $file=$upload{$_}; if(defined $seen{$file}) { print "<center><font color=red>Duplicate filename found: $ +file</font></center>\n"; exit; } $seen{$file}=$file; print "<font color=blue><center>Uploaded $file</font></center>"; + }
Instead of the exit call you could just make the filename more unique by tagging on a number (much like your OS does when you make try to make a file with a non unique name)

#! perl -w use strict; my(%upload,%seen); my($counter,$file,$old); %upload=(a=> 'dog.gif', b=> 'cat.gif', c=> 'llama.gif', d => 'dog.gif' ); for (keys %upload){ $file=$upload{$_}; if(defined $seen{$file}) { $old=$file; while (defined $seen{$file}){ $file=$old; $counter++; $file=join('.',$file,$counter); } } $seen{$file}=$file; print "<font color=blue><center>Uploaded ",$file,"</font></cente +r>\n"; }


Comment on Re: difficult error checking
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2014-09-20 20:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (161 votes), past polls