Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: File handling? How to make the better one?

by tobyink (Abbot)
on Jun 11, 2012 at 15:08 UTC ( #975589=note: print w/ replies, xml ) Need Help??


in reply to File handling? How to make the better one?

if ( system("ls -l | grep datafile.json") == 0 ) {

Sweet Jesus! Is this you trying to check whether a file exists?! You know Perl does have built-ins for checking the existence of a file...

if (-f "datafile.json") {

Using a few commodity modules from CPAN, you can make your life a lot easier...

#!/opt/lampp/bin/perl use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; use File::Slurp qw< read_file write_file >; use JSON qw< from_json to_json >; use constant USER_ACCOUNT_FILE => '/opt/lampp/htdocs/datafile.json'; sub store_user_account { my ($name, $mail, $pass) = @_; my $existing_data = -f USER_ACCOUNT_FILE ? from_json(scalar read_file(USER_ACCOUNT_FILE, err_mode => 'c +roak')) : []; push @$existing_data, { name => $name, mail => $mail, pass => $pass, }; write_file( USER_ACCOUNT_FILE, { atomic => 1, err_mode => 'croak' }, to_json($existing_data), ); } sub process_cgi { my ($q) = @_; store_user_account( map { scalar $q->param($_) } qw(name mail pass), ); print $q->header('text/html'); print "<p>Finished file.</p>\n"; } process_cgi( CGI->new );
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: File handling? How to make the better one?
Select or Download Code
Re^2: File handling? How to make the better one?
by heatblazer (Scribe) on Jun 11, 2012 at 18:12 UTC

    Thanks, I don`t know all these tricks. I`ll most definitely look upon that JSON module too. Looks like it will make my life better.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2015-07-03 23:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls