Yes. Perl allows you to call things without the () if you really want to, and they did so here. How it would with them is:
So @ARGV is the input array, and {code block} is what it does to every element of the array in turn. It's given @ARGV[N] as its argument, and returns whatever you want to transform it into.
I'm not sure that's valid syntax for perl in general - shoving entire code blocks wherever - especially since that code block isn't executed immediately, but repeatedly called by map(). This seems like special behavior.
The steps in the { } block are:
Match $_ (i.e. @ARGV[N]) against /(.*)\//
Return $1, i.e. the bracketed section matched by the regex
Assign the returned value to output[N] ( implied, done internally by map() )
Once every element is parsed, it's returned as a list into join().
Hello ,
Please can someone tell me what exactly happens when the below filehandler is chomped into an array and later mapped.
$lcpLog="logcopy\@".getTimestamp."\log";
open CFg ,"< $lcpcfg";
chomp(@cfg = <CFG>);
close CFG;
@cfg=grep { $_ ne ' ' } map { lc + (split /\s*\/\//) }... (0 Replies)
There is a function called start:
start()
{
echo -n $"Sending Startup Email: "
echo "${RESTARTBODY}" | mutt -s "${RESTARTSUBJECT}" ${EMAIL}
RETVAL=$?
if ; then
touch ${LOCKFILE}
success
else
failure
fi
echo
return ${RETVAL}
}
Can anyone explain what the bold part of the... (3 Replies)
Hi guys,
I'm trying to learn grep and map and having a little problem.
Let's say I have a file which contains:
Apple: abcdcabdadddbac
I want to replace any combinations of three of abcd, thus when I do this:
print grep {s/{3}/X/g} <F>; # will do the subtitution fine, output XXXX
... (1 Reply)
Hi,
I have 2 arrays:
@names=qw(amith veena chaitra);
@files=qw(file.txt file1.txt file3.txt);
There is one to one relationship between names and files.
There needs to be mapping created between names and files.
The output should be like this:
amith --> file.txt
veena --->... (3 Replies)
Well, I found myself trying to fix some Perl code (Ive never done any Perl in my life) and I pinpointed the place where the bug could be. But to be sure I have to know what does a few line of code mean:
$files_lim =~ (/^\d*$/)
$files_lim =~ (/^\d*h$/)
$files_age =~ s/h//
The code where... (2 Replies)
Hi all,
I am trying to build threads which will go to localhost and list the files in given folder.
#!/usr/bin/perl
use threads;
my $t1 = threads->new(\&sub1, 1);
my $t2 = threads->new(\&sub2, 2);
push(@threads,$t1);
push(@threads,$t2);
foreach... (5 Replies)
Hello All,
I am writing the below script where it will connect to database and returns the results.
#!/sw/gcm/perl510/bin/perl
use SybaseC;
&openConnection;
&loadvalues;
sub openConnection {
$dbproc = new SybaseC(SYDB}, $ENV{DBDFLTUSR}, $ENV{DBDFLTPWD});
if... (2 Replies)
Hello,
I recently started going in depth with the shell, so I started learning from Linux Shell Scripting CookBook, 2nd edition. I am at the first chapter atm, and the author tells to define a function in the ~/.bashrc.
The function is below.
prepend() { && eval $1=\"$2':'\$$1\" && export... (1 Reply)
I have a file like
file.
file.TODAY.THISYEAR
file.TODAY.LASTYEARI want to substitute the words in caps with their actual values so that output should look like
file.140805
file.140805.2014
file.140805.2013For this I am reading the file line bye line in an array and using multiple map... (1 Reply)
I have this code
#!/bin/bash
LZ () {
RETVAL="\n$(date +%Y-%m-%d_%H-%M-%S) --- "
return RETVAL
}
echo -e $LZ"Test"
sleep 3
echo -e $LZ"Test"
which I want to use to make logentrys on my NAS. I expect of this code that there would be output like
2017-03-07_11-00-00 --- Test (4 Replies)
Discussion started by: matrois
4 Replies
LEARN ABOUT SUSE
tk_getscrollinfo
Tk_GetScrollInfo(3) Tk Library Procedures Tk_GetScrollInfo(3)__________________________________________________________________________________________________________________________________________________NAME
Tk_GetScrollInfo, Tk_GetScrollInfoObj - parse arguments for scrolling commands
SYNOPSIS
#include <tk.h>
int
Tk_GetScrollInfo(interp, argc, argv, dblPtr, intPtr)
int
Tk_GetScrollInfoObj(interp, objc, objv, dblPtr, intPtr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error reporting.
int argc (in) Number of strings in argv array.
const char *argv[] (in) Argument strings. These represent the entire widget command, of which the first word is typically the
widget name and the second word is typically xview or yview.
int objc (in) Number of Tcl_Obj's in objv array.
Tcl_Obj *const objv[] (in) Argument objects. These represent the entire widget command, of which the first word is typically the
widget name and the second word is typically xview or yview.
double *dblPtr (out) Filled in with fraction from moveto option, if any.
int *intPtr (out) Filled in with line or page count from scroll option, if any. The value may be negative.
_________________________________________________________________DESCRIPTION
Tk_GetScrollInfo parses the arguments expected by widget scrolling commands such as xview and yview. It receives the entire list of words
that make up a widget command and parses the words starting with argv[2]. The words starting with argv[2] must have one of the following
forms:
moveto fraction
scroll number units
scroll number pages
Any of the moveto, scroll, units, and pages keywords may be abbreviated. If argv has the moveto form, TK_SCROLL_MOVETO is returned as
result and *dblPtr is filled in with the fraction argument to the command, which must be a proper real value. If argv has the scroll form,
TK_SCROLL_UNITS or TK_SCROLL_PAGES is returned and *intPtr is filled in with the number value, which must be a proper integer. If an error
occurs in parsing the arguments, TK_SCROLL_ERROR is returned and an error message is left in interp->result.
Tk_GetScrollInfoObj is identical in function to Tk_GetScrollInfo. However, Tk_GetScrollInfoObj accepts Tcl_Obj style arguments, making it
more appropriate for use with new development.
KEYWORDS
parse, scrollbar, scrolling command, xview, yview
Tk 8.0 Tk_GetScrollInfo(3)