System calls tend to make a little uneasy.
Today I needed to do mkdir in the middle of something unwieldy and I thought, uh oh, how do I error check against this.
perlfunc mkdir wasn't real helpful, and perlmonks didn't pop anything up right away either.
My shortcut was to use the google "site:" syntax to search stonehenge.com repository of merlyn articles
There, in the third result, was my answer. Since google gives such nice summaries, with the key words bolded for easier viewing, I saw it right away:
-d $CORRUPT or mkdir $CORRUPT, 0755 or die "Cannot mkdir $CORRUPT: $!";
So, that's all.
If there's ever a bit of idiom that you *almost* know, but can't quite nail, and you're too shy to ask on the chatterbox, do a site query on stonhenge.com or (who else is good for this?) and sometimes the answer pops right out.
UPDATE: Actually, though, what I really wanted was
my $result = system("mkdir -p $log_dir");
print "result: $result\n";
-d $log_dir or system("mkdir -p $log_dir") && die "couldn't make $log_
print "error: should have died already\n";
Because system returns 0 on success, whereas perl mkdir returns 0 on failure.
So much for magic bullets ;)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||