03-12-2008
Quote:
Originally Posted by
meeraKh
yippeee!!!
this worked - it gave me the following output :
The file is 0.603263888888889 days old.
so i guess this was testing against 03/12/2008 00:00:00 - so I can pass my date that i extract to the file as parameters to this perl program and return the difference back to my shell script, right??
Thanks again for your help - I might bug you again if i have trouble with writing the perl program...
Yay!
Yes, you are correct about it comparing it to midnight.
Feel free to ask questions. You should pretty much be able to use the Python script as a framework and replace each line with Perl. I would do it myself, but today is a busier day at work than yesterday was.
I'm still bummed that you don't have Python, though. It's so much nicer to work with than Perl -- especially for a beginner. Perl rocks for the super-dense one-liners and regex-intensive short scripts, but Python is cleaner and easier to learn.
ShawnMilo
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have a problem I don't understand... I am trying to declare a variable, and then output the results of that variable, couldn't be simpler
#!/bin/ksh
VAR='Oranges'
if
then
echo "Found Lemons"
elif
then
echo "Found Oranges"
fi
The output shouold clearly be "Found Oranges", but... (2 Replies)
Discussion started by: danhodges99
2 Replies
2. Shell Programming and Scripting
Hi,
I came across a script a few months ago that allowed you to use the following script to include the current time into your prompt (useful from auditting purposes):
# Set Prompt
typeset -RZ2 _x1 _x2 _x3
let SECONDS=$(date '+3600*%H+60*%M+%S')... (5 Replies)
Discussion started by: m223464
5 Replies
3. Solaris
Greetings To All!
I am running Solaris 10 in a sparc environment.
Here is the deal:
In /var/spool/cron/crontabs, there is a cron user named "sys". If I do a
crontab -l sys, it returns:
# 0 * * * 0-6 /usr/lib/sa/sa1
# 20,40 8-17 * * 1-5 /usr/lib/sa/sa1
# 5 18 * * 1-5 /usr/lib/sa/sa2... (8 Replies)
Discussion started by: RobSand
8 Replies
4. UNIX for Advanced & Expert Users
Hi,
I've Ubuntu 8.04, and it has some files that I just cannot delete. I've tried everything, inode, fsck etc.
Here is what the ls -li outputs
root@ubuntu:/home/luser/.local/share/Trash/files/junk# ls -l
ls: cannot access TRUNK_: No such file or directory
ls: cannot access 2006_output.mv:... (11 Replies)
Discussion started by: nitin
11 Replies
5. Infrastructure Monitoring
Hi,
I want to install net-snmp-devel package but i have following dependecy problem.
It's very odd, i don't get it. One of packages is depended on the other one, the other one is depended on the previous one as well. :S :S
Could you help me please?
Here are the steps:
# ls -l
total... (4 Replies)
Discussion started by: oduth
4 Replies
6. Shell Programming and Scripting
awk 'BEGIN{print 1.2.3.4}'
1.20.30.4
Can anyone explain why has extra "0" in the IP address? (3 Replies)
Discussion started by: newoz
3 Replies
7. Programming
Hi all,
Sorry for the title because I didn't find a proper name for it. My question is about POSIX functions, such as timer_create(), mq_open() and pthread_create().
void test_queue()
{
struct mq_attr attr;
attr.mq_maxmsg = 10;
attr.mq_msgsize = 64;
mq_unlink("/my_test_queue");... (6 Replies)
Discussion started by: bus147
6 Replies
8. Shell Programming and Scripting
Hi, guys
Here is my script and it's an imaginary script to recast a string randomly.
#!/bin/bash
# scriptname: recast_string
# purpose: recast a string randomly like this "abc123" --> "21a3cb" or "a31b2c"
function recast()
{
local original_string=$1
local... (4 Replies)
Discussion started by: franksunnn
4 Replies
9. Shell Programming and Scripting
Hi,
So I have a very simple script which loops over 5 times and prints the iterator value.
#!/bin/sh
START=1
END=5
for i in $(eval echo "{$START..$END}")
do
echo "$i"
done
If I save this script in a .sh file and run it in the terminal, the output I get is
{1..5} (4 Replies)
Discussion started by: jamie_123
4 Replies
10. Shell Programming and Scripting
Hi,
I have a simple awk script:
BEGIN{}
{
$a=$2-$1;
print $a
}
END{if(NR==0){
print "0"
}
}
to which I provide the following input
2.9 14
22.2 27 (4 Replies)
Discussion started by: jamie_123
4 Replies
LEARN ABOUT DEBIAN
padre::document::perl::beginner
Padre::Document::Perl::Beginner(3pm) User Contributed Perl Documentation Padre::Document::Perl::Beginner(3pm)
NAME
Padre::Document::Perl::Beginner - naive implementation of some beginner specific error checking
SYNOPSIS
use Padre::Document::Perl::Beginner;
my $beginner = Padre::Document::Perl::Beginner->new;
if (not $beginner->check($data)) {
warn $beginner->error;
}
DESCRIPTION
This is a naive implementation. It needs to be replaced by one using PPI.
In Perl 5 there are lots of pitfalls the unaware, especially the beginner can easily fall in. While some might expect the Perl compiler
itself would catch those it does not (yet ?) do it. So we took the initiative and added a beginners mode to Padre in which these extra
issues are checked. Some are real problems that would trigger an error anyway we just make them a special case with a more specific error
message. (e.g. "use warning;" without the trailing s) Others are valid code that can be useful in the hands of a master but that are
poisonous when written by mistake by someone who does not understand them. (e.g. "if ($x = /value/) { }" ).
This module provides a method called "check" that can check a Perl script (provided as parameter as a single string) and recognize
problematic code.
Examples
See <http://padre.perlide.org/ticket/52> and <http://www.perlmonks.org/?node_id=728569>
Cases
o
split /,/, @data;
Here @data is in scalar context returning the number of elements. Spotted in this form:
split /,/, @ARGV;
o
use warning;
s is missing at the end.
o
map { $_; } (@items),$extra_item;
is the same as
map { $_; } (@items,$extra_item);
but you usually want
(map { $_; } (@items)),$extra_item;
which means: map all @items and them add $extra_item without mapping it.
o Warn about Perl-standard package names being reused
package DB;
o
$x = chomp $y;
print chomp $y;
o
map { s/foo/bar/; } (@items);
This returns an array containing true or false values (s/// - return value).
Use
map { s/foo/bar/; $_; } (@items);
to actually change the array via s///.
o
<@X>
o
if ($x = /bla/) {
}
o Pipe | in open() not at the end or the beginning.
o
open($ph, "| something |");
o Regular expression starting with a quantifier such as
/+.../
o
} else if {
o
} elseif {
o
close;
HOW TO ADD ANOTHER ONE
Please feel free to add as many checks as you like. This is done in three steps:
Add the test
Add one (or more) tests for this case to t/75-perl-beginner.t
The test should be successful when your supplied sample fails the check and returns the correct error message. As texts of error messages
may change, try to match a good part which allows identification of the message but don't match the very exact text.
Tests could use either one-liners written as strings within the test file or external support files. There are samples for both ways in the
test script.
Add the check
Add the check to the check-sub of this file (Document/Perl/Beginner.pm). There are plenty samples here. Remember to add a sample (and maybe
short description) what would fail the test.
Run the test script to match your test case(s) to the new check.
Add the configuration option
Go to Config.pm, look for the beginner error checks configuration and add a new setting for your new check there. It defaults to 1 (run the
check), but a user could turn it off by setting this to 0 within the Padre configuration file.
COPYRIGHT & LICENSE
Copyright 2008-2012 The Padre development team as listed in Padre.pm.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-27 Padre::Document::Perl::Beginner(3pm)